1. 简介
twisted是一个事件驱动的异步的python网络编程库。
个人感觉有点像java里的netty。语言看来都是相通的,关键是思想。
twisted提供的功能相当丰富,有web服务器,客户端,SSH2, SMTP, POP3, IMAP4, AIM, ICQ, IRC, MSN, Jabber, NNTP, DNS等。
2. 安装
有依赖,需要先下载安装
zope.interface(一个有名的web服务器的基础类库)
我下的是zope.interface-4.1.1.win32-py2.7.exe
然后去官网下载安装twisted,我下的是Twisted-14.0.2.win32-py2.7.msi
3. 测试
from twisted.internet import reactor
from twisted.internet.protocol import Protocol, Factory
class SimpleLogger(Protocol):
def connectionMade(self):
print 'Got connection from', self.transport.client
def connectionLost(self, reason):
print self.transport.client, 'disconnected'
def dataReceived(self, data):
print data
factory = Factory()
factory.protocol = SimpleLogger
reactor.listenTCP(1234, factory)
reactor.run()
先运行上面写的这个服务端。
然后重新打开一个cmd,输入telnet localhost 1234
这个程序的运行效果是,客户端每键入一个字符,服务端就会打印。
(代码源自于《Python基础教程(第2版)》)
4. 好的资料
我看到的最棒的Twisted入门教程!1~14
我看到的最棒的Twisted入门教程!15~22
分享到:
相关推荐
#### 第三部分:初步认识Twisted - **用Twisted的方式实现前面的内容**:通过重新实现第二部分中的诗歌服务器示例,展示了Twisted框架下异步编程的具体实现方法。 - **你好,Twisted**:这部分内容帮助读者了解...
尽管本书内容偏于高级,初学者需要有一定的Python编程基础和对异步编程有初步理解,但它对于想要提升网络编程能力,特别是掌握Twisted框架的程序员来说,是一本不可或缺的参考资料。通过阅读本书,开发者不仅能够...
- **初步示例**: - **Python unittesting**: 使用Python标准库中的`unittest`模块进行单元测试。 - **创建API和编写测试**: 如何在编写代码之前先编写测试用例,确保代码符合预期的功能。 - **使测试通过**: 根据...
可能包含了一系列的幻灯片、代码示例或者讲解文档,旨在引导学习者从对Twisted的初步认识,逐步过渡到能够独立进行项目演示的水平。 【标签】"Python" 明确了这个教程是基于Python语言的,因此会涉及到Python语法、...
14. 工程验收分为开工前检查、随工验收、初步验收和竣工验收四个阶段。 15. 在敷设金属管时,每根管的最大弯头数不超过3个,直角弯头不超过2个,且不应有S形弯。 16. UTP线缆的最大允许拉力为100N,12根线缆的总...
使用SQL语言进行数据库操作,并通过Twisted框架连接MySQL数据库。 总结而言,这篇文章涵盖了社交网络数据挖掘的整个流程:从数据获取、预处理、分析提取、过滤与组织,到最终的数据存储和使用。同时,文章强调了在...
通常,这个版本可能包含了项目的基本功能和初步的API设计。随着项目的发展,后续版本可能会添加更多功能、优化性能或修复已知问题。 总结来说,`pglib`是一个利用Python和Twisted实现的、面向PostgreSQL的异步...
”,推测为STN(Super Twisted Nematic)或FSTN(Film Super Twisted Nematic)类型。 - 分辨率:128x64像素,属于标准分辨率,适用于多种应用场合。 - 背光:文档中未明确提及背光类型,常见的有LED...
初步的必须使用Pimoroni提供的Python软件安装Unicorn Hat并在Pi上使用它。 毕业于Art-Net之前,请确保此方法有效。在Pi上安装库仅安装一次Python扭曲库。 sudo apt-get install python-twisted在Pi上运行Art-Net...
- **快速原型**:Python适合快速构建初步的产品模型,用于测试和迭代。 3. **Python 2.x与3.x的区别**: - **print语句**:Python2使用`print "Hello"`,而Python3使用`print("Hello")`函数。 - **字符串编码**...
这个压缩包包含了该软件的早期开发版本,具体为v0.1.1,通常这样的版本意味着它还处于初步开发阶段,可能存在一些未完善的特性或者bug。下面我们将深入探讨这个源码包可能包含的关键知识点和相关技术。 1. **源码...
这样你就完成了Scrapy爬虫项目的初步创建。 总的来说,Scrapy的项目创建过程主要包括安装Scrapy及相关依赖、创建项目、生成爬虫以及配置启动脚本。了解并掌握这些步骤,能够帮助你快速搭建起一个Scrapy爬虫项目,为...