【发布时间】:2016-11-19 02:47:18
【问题描述】:
从多个对等点成功发送和接收握手后,BitTorrent 消息链中的下一步是bitfield 消息。
bitfield 消息如下所示,第一行解释了协议段的字节大小:
<4-bytes><1-byte><x-bytes>
<nrOfBits><identifier><bits>
我遇到的问题是,几乎所有对等点似乎都在发送与上述表示不同的位域消息!消息往往如下所示:
size: 332, [0, 0, 0, 112, 5, 127, -1, -1, -1, -1, -5, -1, -1, -1, -1, -1, -17...]
第一个问题是我收到的大部分消息都有长度字节:
[0, 0, 0, 112]
即使在这种情况下接收到的消息总共包含 332 个字节,而在其他一些情况下,消息可能只有 80 个字节左右。
第二个问题是位通常重复-1或其他一些奇怪的负值..
我不认为这可以归因于我这边的低级编码问题,因为其他消息工作正常..
【问题讨论】:
标签: java network-programming nio network-protocols bittorrent