使用Twisted编写服务器
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()
然后再编写客户端程序,就可以测试这段服务器代码了。