关于twisted的一个基础的问题
时间:2011-03-01
来源:互联网
Server端:
Python code
Client端:
Python code
Python code
from twisted.internet import reactor,protocol from time import ctime PORT = 18888 class ServProtocol(protocol.Protocol): def connctionMade(self): clnt = self.clnt = self.transport.getPeer().host print '...connected from',clnt def dataReceived(self,data): self.transport.write('[%s] %s' %(ctime(),data)) factory = protocol.Factory() factory.protocol = ServProtocol print 'wating for connection...' reactor.listenTCP(PORT,factory) reactor.run()
Client端:
Python code
from twisted.internet import reactor,protocol from time import ctime HOST = 'localhost' PORT = 8888 class ClientProtocol(protocol.Protocol): def connctionMade(self): print 'connect to %s successfully' %self.transport.getPeer().host self.sendData() def sendData(self): data = raw_input('>') if data: self.transport.write(data) else: self.transport.loseConnection() def dataReceived(self,data): print data self.sendData() class clientFactory(protocol.ClientFactory): protocol = ClientProtocol def clientConnectionLost(self,connector,reason): print 'Lost connection: %s' %reason.getErrorMessage() reactor.stop() def clientConnectionFailed(self,connector,reason): print 'Connection failed: %s' %reason.getErrorMessage() reactor.stop() reactor.connectTCP(HOST,PORT,clientFactory()) reactor.run()
作者: w597766166 发布时间: 2011-03-01
然后在开两个python shell ,然后客户端连接超时,一直卡着,没有调用ConnctionMade
作者: w597766166 发布时间: 2011-03-01
两个端口号都是8888 上面代码里面有点小失误,不知道是不是同一台机器测试的原因~~~
作者: w597766166 发布时间: 2011-03-01
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28