twisted第二天-Protocol
bigzhu
posted @ May 24, 2010 07:29:00 AM
, 1456 阅读
还是得先介绍Protocol,因为现在开始要做点能干活的网络协议了,不过干的事情也挺无聊的,就是把浏览器发送过来的请求的内容,原封不动的返回给浏览器.
把Protocol引入进来
from twisted.internet.protocol import Factory,Protocol
Protocol一般是通过继承它来使用的:
class MyProtocol(Protocol):
def dataReceived(self,data):
self.transport.write(data)
self.transport.loseConnection()
dataReceived知其名字也知意,接收到数据的时候会调用
Protocol类里面的transport,就当它是准备返回回去的包的实例.
write方法可以往包里写入数据.
loseConnection()等同于告诉twisted,我的信写完了,你可以把信发出去了..
访问端口得到之前自己发出的信息,我日,还是有点用的,原来浏览器竟然私自把那么多信息都发出去了..操作系统阿,什么都…咋个不把内裤什么颜色也发出去呢.?
完整代码如下:
from twisted.internet.protocol import Factory,Protocolfrom twisted.internet import reactor class MyProtocol(Protocol): def dataReceived(self,data): self.transport.write(data) self.transport.loseConnection()factory = Factory();factory.protocol = MyProtocolreactor.listenTCP(8000,factory)reactor.run()