1

我们学校的项目是一个 BitTorrent 客户端。今天我突然{tcp_error,#Port<0.2095>,emsgsize}出错了,我的问题是什么导致了这个错误?我有option {packet,4}gen_tcp所以我的猜测是包的长度与前 4 个字节不匹配?这真的很奇怪,因为除了握手之外的所有 BitTorrent 消息都有前 4 个字节 len。昨天我们能够下载,现在我收到了这些消息。请注意,有些消息可以正常到达。感谢您对这个问题的想法。

4

2 回答 2

2

当数据包大于接收缓冲区(recbuf 选项)或数据包大于指定的最大数据包大小(packet_size 选项)时,您将收到 emsgsize 错误。

于 2011-12-07T13:29:52.060 回答
-1

可能其中一个数据包未使用正确的标头发送,Erlang 将其解释为声称该数据包非常大的标头。

于 2012-10-11T19:03:47.903 回答