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( )
本文详细介绍了Twisted服务器的使用,通过EchoProtocol继承自twisted.protocols.basic.LineReciever,实现客户端与服务器间的简单通信。展示了如何利用LineReceiver进行输入自动分解,简化了单行处理过程。
4371

被折叠的 条评论
为什么被折叠?



