twisted第二天-Protocol

bigzhu posted @ May 24, 2010 07:29:00 AM , 1434 阅读

还是得先介绍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()


登录 *


loading captcha image...
(输入验证码)
or Ctrl+Enter