3

在 BEP5 中说

节点的联系信息被编码为一个 26 字节的字符串。也称为“紧凑节点信息”,网络字节顺序中的 20 字节节点 ID 具有连接到末尾的紧凑 IP 地址/端口信息。

当一个节点接收到一个 find_node 查询时,它应该用一个键“nodes”和一个字符串的值来响应,该字符串包含目标节点或它自己的路由表中 K (8) 个最近的好节点的紧凑节点信息。

在我的 java 的 find_node 响应中,Compact 节点信息字节不是 26 字节,为什么?

4

1 回答 1

1

关键节点的值可以包含多个节点,如 BEP5 中的引用所示:

...或者它自己的路由表中的 K (8) 个最近的好节点。

8 * 26 = 208 字节值长度,8 个紧凑节点信息连接在一起。
许多客户端甚至发送双倍数量的节点:16 * 26 = 416 字节长度。

在实践中,客户应该接受任何可以被 26 整除的长度。

于 2017-08-14T12:41:21.337 回答