Twisted 服务器使用和客户端相同的协议类, EchoProtocol 继承处twisted.protocols.basic.LineReciever,twisted.protocols.basic.LineReciever是一个稍高级别的协议, LineReceiver是一个协议,可将输入自动分解成单独的行的投入,使其更容易同时处理单行。
客户端,telnet 127.0.0.1 5001
You said: hello
world
You said: world
deepfuture.iteye.com
You said: deepfuture.iteye.com
服务端:
F:\test>python test.py 127.0.0.1 5001
from twisted.internet import reactor, protocol
from twisted.protocols import basic
class EchoProtocol(basic.LineReceiver):
def lineReceived(self, line):
if line == 'quit':
self.sendLine("Goodbye.")
self.transport.loseConnection( )
else:
self.sendLine("You said: " + line)
class EchoServerFactory(protocol.ServerFactory):
protocol = EchoProtocol
if __name__ == "__main__":
port = 5001
reactor.listenTCP(port, EchoServerFactory( ))
reactor.run( )