为什么我在响应消息中find_node紧凑节点信息不是 26 字节?



In BEP5 说

节点的联系信息编码为 26 字节字符串。也称为"紧凑节点信息",按网络字节顺序排列的 20 字节节点 ID 将紧凑的 IP 地址/端口信息连接到末尾。

当节点收到find_node查询时,它应该使用密钥"节点"和字符串值进行响应,该字符串包含目标节点的紧凑节点信息或其自己的路由表中 K (8( 个最接近的良好节点。

在 Java 的find_node响应中,紧凑节点信息字节不是 26 字节,为什么?

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

。或其自己的路由表中 K (8( 个最接近的良好节点。

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

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

最新更新