了解Bittorrent跟踪器请求

时间:2017-05-26 05:46:05

标签: bittorrent

我正在阅读需要发送的Bittorrent请求参数以通过here宣布网址

问题1:

  • left params:
  

left:此客户端仍必须以base为单位下载的字节数   十个ASCII。澄清:下载所需的字节数   100%完成并获取torrent中包含的所有文件。

也是BEEP-3州

  

此对等方仍需下载的字节数,以base编码   十个ascii。请注意,这不能通过下载和计算得到   文件长度,因为它可能是一个简历,并且有一些机会   下载的数据未通过完整性检查而必须进行   重新下载。

现在,如果我开始下载我的Torrent,或者我应该随时给出什么样的价值。

问题2:

在阅读规范否的时候,我发现客户端应该多久查询一下,以获取同行的更新列表。

关于

的任何字样

我在跟踪器响应中的intervalmin interval中找到了这个答案。

1 个答案:

答案 0 :(得分:3)

答案1:

您在宣布中发送的 left = 值是您需要下载以完全获取torrent中所有部分所需的最小字节数,无论是否您打算下载其中的所有文件。

因此,如果您开始从头开始下载torrent,其中的所有文件都有 总大小: 1 234 567 890字节
您发送第一个宣布左= 1234567890 已下载= 0 已上传= 0

即使只想从该种子下载 567 890 123字节: 您仍然发送第一个宣布左= 1234567890 已下载= 0 已上传= 0

然后,当第二次宣布时,您已成功下载 234 524 288字节,没有任何哈希失败并上传 87 654 400字节到其他同行;
您发送第二个宣布
左= 1000043602 已下载= 234524288 已上传= 87654400

第三次宣布,您已成功下载通过哈希检查的 258 786 432字节,并上传了 98 762 752字节更多内容其他同行,但这次有 3 哈希失败(件大小: 262 144字节);
您发送第三个宣布
左= 741257170 已下载= 493310720 已上传= 186417152 已损坏= 786432
(不发送损坏的客户将改为发送已下载= 494097152

第四次宣布:[TODO]

预订:除了正式的BEP3之外,如何完成这项工作主要是未记录的惯例,以上答案基于使用Wireshark检查普通客户的最佳努力。