twisted使用异步的方式处理数据,网络中有事件到达时,协议作出对事件的响应,并调用协议里面的方法,比如loseConnection()用于断开连接,abortConection()用于强制终止连接,connectionMade()用于建立连接。使用twisted编写网络编程程序,需要进行一下步骤:(1)定义协议类,它继承自protocol,(2)定义factory类,它用于实例化协议类的对象,(3)定义reactor,启动reactor 。下面是使用twisted的简单服务器:
#!/usr/bin/env python from twisted.internet import reactor from twisted.internet.protocol import Protocol,Factory class Handle(Protocol): def connectionMade(self): print self.transport.client,'connected' def connectionLost(self,reason): print self.transport.client,'disconnected' def dataRecieved(self,data): self.transport.write(data) factory=Factory() factory.protocol=Handle reactor.listenTCP(10000,factory) reactor.run()
然后再编写客户端程序,就可以测试这段服务器代码了。