在 bittorrent 客户端中,来自跟踪器的第一个响应将包含对等点列表。在第一个响应后联系跟踪器进行更新时,第二个响应中发送的任何对等点是否与第一个响应中的相同?
我问的原因是我不想浪费时间检查新列表中的任何对等点是否与新列表相同。
提前致谢
在 bittorrent 客户端中,来自跟踪器的第一个响应将包含对等点列表。在第一个响应后联系跟踪器进行更新时,第二个响应中发送的任何对等点是否与第一个响应中的相同?
我问的原因是我不想浪费时间检查新列表中的任何对等点是否与新列表相同。
提前致谢
跟踪器通常应该发送他们所知道的所有对等节点中随机选择的子集。实际实现有所不同,例如,出于效率原因,它们可能会在很长的对等点列表上移动一个窗口,或者它们可能会注入假对等点以提供合理的否认。
如果 swarm 的大小足够小以适应numwant
限制,那么他们将返回整个 swarm。
但是即使你得到了整个群体,返回的对等点集仍然可能仅仅由于新的到达/离开而有所不同。
而且您还想联系跟踪器以将自己保留在他们的列表中,因为您的条目最终会过期。
长话短说:返回的集合之间可能有 0 到 100% 的重叠。
只需将您的东西存储在哈希/集合数据结构中,您就可以了。