我正在制作一个种子客户端。我解码 torrent 文件并将此请求发送到跟踪器:
http://tracker.mininova.org/announce?uploaded=0&downloaded=0&compact=0&event=started&peer_id=12345678987654321234&port=6881&info_hash=%18%28n%23K%ECt%B7%93S%C5%F1-%F3%1C%18k%CEX%A4&left=0
这就是我收到的:
{'min interval': 1800, 'peers': '', 'interval': 1800, 'complete': 37, 'incomplete': 0}
为什么对等列表为空?有 37 个同伴是播种者,我不应该从他们那里获取一些同伴信息吗?
您得到空对等列表的原因是跟踪器不会将种子发送到其他种子,并且在请求时没有注册的水蛭。
跟踪器将您注册为种子,因为您发送了&left=0
在请求字符串中,表明您拥有完整的 torrent。
相反,假设 torrent 大小为 200075 字节,并且客户端尚未下载任何内容,
它应该添加&left=200075
公告将是:
http://tracker.mininova.org/announce?uploaded=0&downloaded=0&compact=0&event=started&peer_id=12345678987654321234&port=6881&info_hash=%18%28n%23K%ECt%B7%93S%C5%F1-%F3%1C%18k%CEX%A4&left=200075
而且不会有任何答案,因为追踪者早已死去。
See: https://wiki.theory.org/index.php/BitTorrent_Tracker_Protocol#Basic_Tracker_Announce_Request https://wiki.theory.org/index.php/BitTorrent_Tracker_Protocol#Basic_Tracker_Announce_Request
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)