我試圖實現Bittorent在C.首先,編寫代碼片段之前,我試圖用網頁瀏覽器發送以下信息(URL)來跟蹤服務器。Bittorrent:爲什麼peer字段的值是二進制的,而不是Bencoded列表?
,你可以嘗試這個網址。
http://torrent.ubuntu.com:6969/announce?info_hash=%9ea%80%ed%e7/%c4%ae%c8%de%8c%b0C%81c%fbq%3cJ%22&peer_id=M7-3-5--%eck%a8%2a%7f%e6%3ah%84%f2%9d%c5&port=43611&uploaded=0&downloaded=0&left=0&corrupt=0&key=00BA7F86&event=started&numwant=4&compact=0&no_peer_id=0
我從this link被命名爲Xubuntu的-13.04-桌面-i386.iso並具有9e6180ede72fc4aec8de8cb0438163fb713c4a22
爲SHA-1的值下載torrent文件。
然而,上述請求發送後,我得到
HTTP/1.0 200 OK
d8:completei357e10:incompletei8e8:intervali1800e5:peers24:l\262j"\310Հp\226\310\325G?\205^%!\221x \364\367\357e
但Bittorent規範說
同行:值字典的列表,每個使用下列鍵
-peer ID 對等的自我選擇的ID,如上面描述的用於跟蹤請求(字符串)
-ip 端的IP地址(或者IPv6或IPv4)或DNS名稱(字符串)
-port 同行的端口號(整數)
爲什麼同行場的數值是二進制的,不是B編碼後的名單?
預先感謝您。