gpt4 book ai didi

Bittorrent : Why value of peers field is binary , 不是 Bencoded 列表?

转载 作者:行者123 更新时间:2023-12-03 12:40:59 24 4
gpt4 key购买 nike

我正在尝试用 C 语言实现 Bittorent。首先,在编写代码片段之前,我尝试使用网络浏览器将以下消息 (URL) 发送到跟踪器服务器。

您可以试试这个网址。

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 下载了 torrent 文件它被命名为 xubuntu-13.04-desktop-i386.iso 并且具有 9e6180ede72fc4aec8de8cb04381​​63fb713c4a22 作为 SHA-1 值。

但是,发送上述请求后,我得到了

HTTP/1.0 200 OK
d8:completei357e10:incompletei8e8:intervali1800e5:peers24:l\262j"\310Հp\226\310\325G?\205^%!\221x \364\367\357e

但是 Bittorent 规范说

peers : The value is a list of dictionaries, each with the following keys
-peer id peer's self-selected ID, as described above for the tracker request (string)
-ip peer's IP address (either IPv6 or IPv4) or DNS name (string)
-port peer's port number (integer)

为什么peers字段的值是二进制的,而不是Bencoded列表?
提前谢谢你。

最佳答案

peers 值可以是由 6 个字节的倍数组成的字符串。前 4 个字节是 IP 地址,后 2 个字节是端口号。全部采用网络(大端)表示法。

https://wiki.theory.org/BitTorrentSpecification#Tracker_HTTP.2FHTTPS_Protocol

关于Bittorrent : Why value of peers field is binary , 不是 Bencoded 列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17439742/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com