【问题标题】:BitTorrent protocol does not seem to match with realityBitTorrent 协议似乎与现实不符
【发布时间】:2012-03-24 10:58:30
【问题描述】:

我在实现跟踪器时遇到了一些问题 - 我正在使用 PHPTracker 作为底层库,但现在这并不重要。

BitTorrent spec 中所述,客户端应发送info_hash GET 参数等。相反,我收到以下参数:

{
    "peer_id":"-AZ4702-WyiDalpWGJno",
    "supportcrypto":"1",
    "port":"19952",
    "azudp":"19952",
    "uploaded":"0",
    "downloaded":"0",
    "left":"22",
    "corrupt":"0",
    "event":"started",
    "numwant":"75",
    "no_peer_id":"1",
    "compact":"1",
    "key":"fdn0htAH",
    "azver":"3"
}

相同的参数来自 Vuze 和 uTorrent。我在这里很困惑,因为有些参数在规范中,而另一些则不在。这是怎么回事?

【问题讨论】:

  • 额外参数是扩展,查看其他规范。
  • 我想你没有正确解析查询字符串。您收到的实际 GET 请求是什么?
  • @Arvid 实际上是字符串的 json_encode(不要问为什么)。参数实际上是正确的 - 事实证明 json_encode 并不喜欢经过编码的字符串。

标签: network-protocols bittorrent


【解决方案1】:

这个查询没有意义,info_hash 键是必不可少的。根据@Arvid 的建议,您的库没有正确解析请求,或者以不符合您要求的方式解析它。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-08-10
    相关资源
    最近更新 更多