2012-03-24 49 views
4

我在執行跟蹤器時遇到了一些問題 - 我使用的是PHPTracker作爲底層庫,但現在這一點很重要。BitTorrent協議似乎不符合現實

正如在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。我在這裏很困惑,因爲一些參數在規範中,而另一些則不是。這裏發生了什麼?

+0

額外的參數是擴展名,請檢查其他規格。 – 2012-03-24 11:20:51

+3

我想你無法正確解析查詢字符串。什麼是您獲得的實際GET請求? – Arvid 2012-03-25 00:17:18

+1

@Arvid實際上它是字符串的json_encode(不要問爲什麼)。參數實際上是正確的 - 事實證明'json_encode'並不真正喜歡合編的字符串。 – gilden 2012-03-25 04:42:01

回答

1

該查詢沒有意義,info_hash鍵是必不可少的。 Per @ Arvid的建議是,您的圖書館沒有正確解析請求,或以某種不符合要求的方式解析它。