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()