twisted

Protocol 协议
Factory 工厂
reactor 反应器 (看作一个容器)
========= server.py =========

from twisted.internet import reactor
from twisted.internet.protocol import Factory,Protocol


class Echo(Protocol):
def connectionMade(self):
self.transport.write('hi,welcome!')
self.transport.loseConnection()

def dataReceived(self, data):
print(data)
self.transport.write('haha...'+data)

factory = Factory()
factory.protocol = Echo

reactor.listenTCP(8001,factory)
reactor.run()

========= client.py =========
from twisted.internet.protocol import Protocol,ClientFactory
from twisted.internet import reactor


class Echo(Protocol):
def connectionMade(self):
self.transport.write('hi, server')

def dataReceived(self, data):
print(data)


class EchoClientFactory(ClientFactory):
def startedConnecting(self, connector):
print('connection starting ...')

def buildProtocol(self, addr):
print('addr')
return Echo()

def clientConnectionLost(self, connector, reason):
print('lose reason',reason)

def clientConnectionFailed(self, connector, reason):
print('faild reason: ',reason)

reactor.connectTCP('127.0.0.0',8001,EchoClientFactory())
reactor.run()
posted @ 2017-12-05 20:38  人微言轻1  阅读(192)  评论(0编辑  收藏  举报