我正在阅读需要发送的Bittorrent请求参数以通过here宣布网址
问题1:
left:此客户端仍必须以base为单位下载的字节数 十个ASCII。澄清:下载所需的字节数 100%完成并获取torrent中包含的所有文件。
也是BEEP-3州
此对等方仍需下载的字节数,以base编码 十个ascii。请注意,这不能通过下载和计算得到 文件长度,因为它可能是一个简历,并且有一些机会 下载的数据未通过完整性检查而必须进行 重新下载。
现在,如果我开始下载我的Torrent,或者我应该随时给出什么样的价值。
问题2:
在阅读规范否的时候,我发现客户端应该多久查询一下,以获取同行的更新列表。
关于
我在跟踪器响应中的interval
和min interval
中找到了这个答案。
答案 0 :(得分:3)
您在宣布中发送的 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检查普通客户的最佳努力。