【发布时间】: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