Why does tracker server NOT understand my request? (Bittorrent protocol)

后端 未结 1 1695
我在风中等你
我在风中等你 2020-12-19 05:29

I\'m trying to implement Bittorent in C. First of all, before writing a code snippet, I tried to used a web browser to send the following message(URL) to the tracker server

相关标签:
1条回答
  • 2020-12-19 06:34

    It is because the request string don't have compact=1 in it.
    Most tracker require that nowadays. The legacy way is too ineffective.

    See BEP 23: Tracker Returns Compact Peer Lists http://www.bittorrent.org/beps/bep_0023.html

    Try:

    http://torrent.ubuntu.com:6969/announce?
    info_hash=%9b%db%bbI%f0%85%a2%d1%5d%96%ac%fa%bf%f81%06%001O%e0
    &peer_id=ABCDABCDABCDABCDABCD&port=6882&downloaded=0
    &uploaded=0
    &left=0
    &event=started
    &compact=1
    

    ie

    http://torrent.ubuntu.com:6969/announce?info_hash=%9b%db%bbI%f0%85%a2%d1%5d%96%ac%fa%bf%f81%06%001O%e0&peer_id=ABCDABCDABCDABCDABCD&port=6882&downloaded=0&uploaded=0&left=0&event=started&compact=1
    

    and the answer from the tracker is:

    d8:completei4e10:incompletei0e8:intervali1800e5:peers6:******e
    
    0 讨论(0)
提交回复
热议问题