本文共 2441 字,大约阅读时间需要 8 分钟。
#!/usr/bin/env python# -*- coding: utf-8 -*-# @Time : 2017/7/27 20:33# @File : ser1.py"""twisted 服务端"""from twisted .internet import protocol,reactorfrom time import ctimeport=6674#协议类class Ser(protocol.Protocol): #对新的连接做处理 def connectionMade(self): clnt=self.clnt=self.transport.getPeer().host#获取连接进来的客户端的地址 print 'connect from',clnt #打印地址 #数据处理 def dataReceived(self, data): self.transport.write('[%s] %s' % (ctime(),data))factory=protocol.Factory() #生成具体工厂对象factory.protocol=Serprint 'waiting'reactor.listenTCP(port,factory) #注册监听reactor.run() #事件循环
#!/usr/bin/env python# -*- coding: utf-8 -*-# @Time : 2017/7/27 20:41# @File : cli1.py"""twisted 客户端"""from twisted.internet import protocol,reactorhost='127.0.0.1'port=6674#协议类class Client(protocol.Protocol): #自定义的方法,进行数据传送 def sendData(self): data=raw_input('>>>') if data: print 'send %s' % data self.transport.write(data) else: self.transport.loseConnection() #连接后便发送数据 def connectionMade(self): self.sendData() def dataReceived(self, data): print data self.sendData()class Fac(protocol.ClientFactory): protocol=Client clientConnectionLost = clientConnectionFailed = \ lambda self,connector,reason:reactor.stop()reactor.connectTCP(host,port,Fac())reactor.run()
转载地址:http://ntcqb.baihongyu.com/