twisted初步

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

猜你喜欢

转载自xpenxpen.iteye.com/blog/2159810
今日推荐