这是问题所在。我正在 Android 中实现 Chord DHT。我已经在 5554 启动了服务器(不完全是服务器),这就是每个新节点请求加入圆圈的地方。现在我比较新节点的标识符哈希和哈希节点在 5554 并更新两个节点的后继和前任。我一直在正确地做这件事。
现在我的问题是,如果另一个节点进来,我必须相应地更新 3 个节点中的前任和后继节点。如何更新这些?我用java。我不是在问代码。我只是在问实现这一点的逻辑。提前致谢。
您应该实现 stable() 方法,并定期调用它。可能会定期和/或在环的拓扑发生变化之后。我自己也实现了获取节点对其前身的想法的方法(它在 stable() 方法中使用)。但是,如果您还没有,您应该查看其他实现。