gpt4 book ai didi

python - twisted.protocols.basic.LineReceiver 和 twisted.internet.protocol.Protocol 有什么区别?

转载 作者:行者123 更新时间:2023-11-28 22:52:21 26 4
gpt4 key购买 nike

对于典型的基于客户端-服务器的应用程序,两者之间有何不同。具体来说,基于线路的协议(protocol)有什么特别之处?更好的是,类何时必须从 Protocol 继承,何时从 LineReceiver 继承?

最佳答案

不同之处在于接收到的数据处理。

协议(protocol)有dataReceived函数。每当收到数据时都会调用它。

LineReceiver 覆盖协议(protocol)。它实现了一种基本的消息传递格式,消息以 '\r\n' 分隔。

让我们假设服务器写的消息是这样的;

request.write("Lorem ipsum")
request.write("do amet siempre.\r\n")
request.write("We have Drogba!\r\n")

在客户端接收到的消息实现了协议(protocol);

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

Lorem ipsum
do amet siempre.
We have Drogba!

消息在客户端接收,实现 LineReceiver;

def lineReceived(self, line):
print line
.
.
output:
Lorem ipsum do amet siempre.
We have Drogba!

希望对您有所帮助。更多信息可以看reference或评论询问。

关于python - twisted.protocols.basic.LineReceiver 和 twisted.internet.protocol.Protocol 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20550094/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com