在写另一个支持分布式哈希表的torrent客户端时,我遇到了一个关于在分布式哈希表上发布消息的问题。很明显,我必须将get_peers发送到越来越接近搜索到的信息散列的节点,直到至少有一个节点以具有该信息散列的对等体列表进行响应。
据我所知,我可以找到多个节点响应知道信息散列的重叠对等节点列表。现在的问题是,我应该向所有返回对等点列表的节点宣布我的存在,还是只选择一个节点。对这个账户有什么建议?
也许我错了,它的工作原理有点不同,我的假设是错误的,不可能有多个节点具有相同信息散列的对等点列表?
发布于 2015-08-21 21:01:02
很明显,我必须将get_peers发送到越来越接近搜索到的信息散列的节点,直到至少有一个节点以具有该信息散列的对等体的列表进行响应。
您实际上执行了一个迭代查找,直到响应不返回任何比K个最近的条目更接近目标键的新节点联系信息为止,K个条目已经响应并包含一个写入标记。
现在的问题是,我是否应该向返回列表的所有节点宣布我的存在
仅适用于K最近节点集。如果公告失败(错误消息或无响应),您还可以回溯以确保至少有K个存储请求得到确认。
https://stackoverflow.com/questions/32140663
复制相似问题