为什么tracker服务器不理解我的要求? (Bittorrent协议) [英] Why does tracker server NOT understand my request? (Bittorrent protocol)

查看:177
本文介绍了为什么tracker服务器不理解我的要求? (Bittorrent协议)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想实现Bittorent在C.首先,写一个code段之前,我试图使用Web浏览器发送以下信息(URL)到tracker服务器。

您可以试试这个网址。

  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&安培;港口= 6882&放大器;下载= 0
&安培;上传= 0
&安培; left = 0的
&安培;事件=启动

我已经下载从被命名为短小精悍-DVD-i386的这个链接 .ISO 的并具有 9bdbbb49f085a2d15d96acfabff8310600314fe0 为SHA-1的值。

不过,上述请求发送后,我得到

 客户端已经过时,请升级
(HTTP 400错误的请求)

为什么tracker服务器不理解我的reqeust?从互联网的任何规格并不能帮助我。结果
任何帮助将是真棒。谢谢你在前进。


解决方案

这是因为请求字符串不紧凑= 1 在里面有。结果
大多数跟踪要求,时下。传统的方法是太无效的。

请参阅BEP 23:跟踪返回紧凑peer列表 http://www.bittorrent.org/beps/bep_0023.html

尝试:

  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&安培;港口= 6882&放大器;下载= 0
&安培;上传= 0
&安培; left = 0的
&安培;事件=启动
&安培;紧凑= 1

<$p$p><$c$c>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

和追踪器传来的答案是:

  D8:completei4e10:incompletei0e8:intervali1800e5:peers6:******ê

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.

you may try this URL.

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

I have downloaded the torrent file from this link which is named dapper-dvd-i386.iso and has 9bdbbb49f085a2d15d96acfabff8310600314fe0 as SHA-1 value.

However, after sending above request, I get

your client is outdated, please upgrade
(HTTP 400 bad request)

Why does tracker server NOT understand my reqeust? Any specs from Internet does not help me.
Any help would be awesome. Thank you in advance.

解决方案

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

这篇关于为什么tracker服务器不理解我的要求? (Bittorrent协议)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆