Torrent Tracker的反应似乎没有很好地形成

时间:2016-10-14 08:13:20

标签: c# bittorrent torrent

今天我尝试理解(也许实施)Bittorrent协议。

我已经很清楚如何解密" .torrent文件的内容,我使用提取的数据向跟踪器发送了一个请求。

但是,响应不是预期的响应:The wiki about the Bittorent Tracker Protocol表示响应必须包含在" peer" List of dictionaries corresponding to peers.

我正在使用C#程序读取响应,并且我在该字段中唯一拥有的是字节数组(byte []),如果我将其转换为带有

的字符串,则包含50-0B-3F-3F-00-00-50-0B-3F-3F-3F-3F
BitConverter.ToString((byte[])peers)

跟踪器的原始响应是:

d8:completei0e10:downloadedi2e10:incompletei2e8:intervali1970e12:min intervali985e5:peers12:P?? P????e

我的HTTP请求是:

http://bt1.archive.org:6969/announce?info_hash=%ac%c3%b2%e43%d7%c7GZ%bbYA%b5h%1c%b7%a1%ea%26%e2&peer_id=ABCDEFGHIJKLMNOPQRST&ip=xxx.xxx.xxx.xxx&port=6881&downloaded=0&left=970

所以我不明白,出了什么问题?

1 个答案:

答案 0 :(得分:1)

跟踪器响应采用compact=1形式,现在或多或少都是强制性的。

在此指定:BEP23 - Tracker Returns Compact Peer Lists