用 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 的分裂方法有没有什么好的方案.
代码中有什么可以改进的地方, 谢啦~~
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.