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