在Twisted中实现dataReceived方法时,似乎没有任何关于数据包被分片的示例。在其他语言中,这是需要手动实现的,所以我想知道在Twisted中是否已经为您完成了这个过程?如果是这样,我需要在我的数据包前加上长度标头吗?还是我需要手动执行这个操作?如果需要手动执行,应该怎么做呢?
在处理TCP时,您应该真正忘记所有“数据包”的概念。TCP是一种流协议--您将数据流入,数据从另一侧流出。一旦数据被发送,它可以以任何数量或任何块的形式到达,只要所有数据以正确的顺序到达即可。您将需要像其他语言一样手动进行分隔,使用长度字段、消息类型字段、特殊分隔符字符等。
你也可以使用LineReceiver协议