Ruby Bittorrent协议';不可用'/';端部连接';回答

Ruby Bittorrent协议';不可用'/';端部连接';回答,ruby,udp,bittorrent,Ruby,Udp,Bittorrent,我喜欢使用torrent应用程序抓取最新的电视节目,这样我就可以在家里看了。问题是,在我关闭客户端后的一段时间内,协议的结构往往会在我的连接上造成大量传入噪音。因为我有时也喜欢玩网络游戏,这意味着我必须确保我的torrent客户端在我想玩游戏之前关闭大约一个小时(取决于追踪器向swarm发布我的广告的时间)。否则,由于不断涌入的torrent请求,我将与游戏建立可怕的连接 我组装了一个小型Ruby应用程序来监视传入的请求,以便知道UTP流量何时停止: 不过,我突然想到,我可能会发送一些响应,通

我喜欢使用torrent应用程序抓取最新的电视节目,这样我就可以在家里看了。问题是,在我关闭客户端后的一段时间内,协议的结构往往会在我的连接上造成大量传入噪音。因为我有时也喜欢玩网络游戏,这意味着我必须确保我的torrent客户端在我想玩游戏之前关闭大约一个小时(取决于追踪器向swarm发布我的广告的时间)。否则,由于不断涌入的torrent请求,我将与游戏建立可怕的连接

我组装了一个小型Ruby应用程序来监视传入的请求,以便知道UTP流量何时停止:

不过,我突然想到,我可能会发送一些响应,通知客户我不再参与swarm,他们应该停止发送请求。我浏览了一下协议规范,但没有找到类似的内容。是否有更熟悉该协议的人知道是否有这样的反应


提前感谢您的建议。

如果互联网上的一群同龄人拥有您的IP并且认为您在他们的群中,他们会在放弃之前尝试与您联系几次。你对此无能为力。告诉他们一次停止一个可能会占用更多的带宽,而忽略UDP数据包可能会占用更多的带宽

现在,您可以做一些事情来缓解它:

  • 确保您的客户端向其所有跟踪器发送停止的请求。这是协议规范的一部分,大多数客户机都这样做。如果这是成功的,追踪器将不会告诉任何人你过去的那一点。但同龄人记得见过你,所以这并不意味着没有人会试图与你联系
  • 关掉DHT。DHT的作用很像一个跟踪器,只是它没有停止的消息。一旦向DHT宣布您的IP超时,大约需要15-30分钟
  • 我想问问你自己这些误入的23字节的UDP数据包是否真的很重要也很有意义。大概你不会被每秒几次(可能更少)的洪水淹没。你有没有做过任何实际的测量,或者说等待测量结果停止是一种偏执

    我假设您正在播放一些对延迟敏感的FPS,在这种情况下,服务器很可能每秒向您发送至少10-50个完整MTU数据包,而不进行任何拥塞控制。如果你吸引了如此多的bittorrent连接尝试,导致任何游戏包被丢弃,我会感到惊讶