代码之家  ›  专栏  ›  技术社区  ›  some_id

确定最快的BitTorrent对等连接

  •  4
  • some_id  · 技术社区  · 14 年前

    如何确定您连接到的对等机具有最快的连接(上载速率)?

    同伴之间的实际联系是否支配了谁是最快的,或者需要最多块的同伴是否会导致他上传最快,因为从他那里下载的人更少?

    我想写一个算法,把跟踪器返回的对等列表中的所有对等点都取出来,通过ping和计时响应或其他方式来确定哪些对等点更接近。

    谢谢

    1 回复  |  直到 14 年前
        1
  •  4
  •   I GIVE CRAP ANSWERS    14 年前

    ping(ICMP echo request/reply)将为您提供对等机的延迟,而不是对等机的可用带宽。你需要带宽,因为TCP擅长做带宽*延迟产品,并且知道如何快速建立连接,即使它往返卫星。

    你要做的就是和他们联系起来。连接40个对等点并不少见。然后你根据他们对你的当前速度来决定要解除哪一个(直到你成为一个播种者)。它还必须是相当动态的,因为可用带宽随时间而变化。我能给你的最好建议是阅读

    http://www.bittorrent.org/bittorrentecon.pdf

    它给出了如何实施经济学的总体思路。但许多客户做的事情与报纸不同,所以阅读代码是另一种选择。

    所以:你想测量带宽,而不是延迟。因此,ping是错误的工具。通过跟踪向对等方发送数据包的速率,可以最容易地测量带宽。

    推荐文章