用 findnodes 找到的节点几乎都无法访问, 不知道是不是解析 node 信息的时候出了问题.
把 Node 放到 Bucket 中,当 Bucket 满了后会进行 Bucket 分裂操作,目前的做法是,每个 Bucket 中最多可以放 8 个 Node,分裂规则是第一个 Bucket 的 nodeIdMax = 2 ^ 160, nodeIdMin = 0,第一次分裂变为两个 Bucket,第一个 Bucket 的 nodeIdMax = 2 ^ 160 / 2, nodeIdMin = 0,第二个 Bucket 的 nodeIdMax = 2 ^ 160, nodeIdMin = 2 ^ 160 / 2 + 1,简单的说就是平均分为两个区间~这样做某些情况会产生很多空的 Bucket,例如 id[] = {1, 2, 3, 4, 5, 6, 7, 8, 9}的情况....
求建议要怎么样才能做出一个像样的 DHT 爬虫, 还有 Bucket 的分裂方法有没有什么好的方案.
代码中有什么可以改进的地方, 谢啦~~