使用Bittorrent协议KeepAlive消息

时间:2012-05-01 02:47:36

标签: java bittorrent

我无法在互联网上的任何地方找到这个问题的答案。我想知道当你在bittorrent协议上收到保持活动消息时会发生什么?我们是想发回一条保持活动的消息吗?

2 个答案:

答案 0 :(得分:3)

来自Unofficial BitTorrent Specification

  

keep-alive:<len=0000>

     

keep-alive 消息是一个零字节的消息,长度前缀设置为零。那里   没有消息ID,也没有有效负载。对等方可以关闭连接   不接收任何消息(保持活动或任何其他消息)   在某段时间内,必须发送保持活动的消息   如果没有为给定命令发送命令,则保持连接活动   多少时间。这段时间通常是两分钟。

我不是BitTorrent专家,但基于此以及我所具有的网络协议知识,这听起来像是你问题的答案

  

我们是想发回一条保持活动的消息吗?

否。至于

  

收到保持活动消息后会发生什么?

嗯,没什么 - 重要的是当你在提到的“给定时间量”之后接收保持活动(或任何其他)消息时会发生什么。在BitTorrent实现中,接收保持活动消息可能会重置计时器,或更新“最后收到的消息”时间戳。

答案 1 :(得分:0)

来自Bittorrent Specification

  

长度为零的消息是keepalive,并被忽略。 Keepalive通常每两分钟发送一次,但请注意,当预期数据时,可以更快地完成超时。

换句话说,保持活力实际上是一种无操作。 像所有其他消息一样,它会重置超时,因此它只有“保持连接活动”的净效果再持续2分钟。