锻炼精神,首先要锻炼肉体
全部博文(104)
分类: C/C++
2015-04-10 15:56:56
名称 | 作用 |
peer_id |
每个向Tracker发送请求下载资源信息的下载端都通过一个随机生成的 id 号码来唯一的标识自身, 该id号码长度不变为 20 个字节 |
port |
发送请求信息的请求下载端通常也会接受来自其他下载同一个共享文件的 其他下载对等端(peer)的数据,这个port 用于表示当前请求下载端与peer 进行连接的端口号码 |
uploaded | 记录当前下载端总共上传了多少数据,以字节为单位 |
downloaded | 记录当前的下载端总共下载了多少的数据,以字节为单位 |
left | 记录当前下载端下载的资源文件还有多少没有下载到本地,字节为单位 |
compact |
当前的下载端为了提高数据传输率,不仅从Tracker获取数据, 还会从正在从 Tracker 上下载同一个共享文件的端点也就是对等端(peer)发送请求下载数据的信息。 而对等端(peer) 的网络地址和端口号 那么 Tracker 以何种方式来返回 如果将 compact 的数值置为 1 的话,那么,Tracker 将会把当前下载端的 peer 地址 存放到一个 6 个字节的字段中,其中 ip 地址占用 4 个字节, 端口号 port 占用 2 个字节 |
event |
这个变量用于记录当前请求信息下载端向 Tracker 发送消息的类型,取值有 三个 started , completed , stopped event 若是 started 表明的是,此信息为请求下载端首次与 Tracker 连接 event 若是 completed 表明的是,此信息为请求下载端将所有的文件块下载完毕, 结束与 Tracker 的连接。 event 若是 stopped 表明,请求下载端(客户端)还没有将所有的数据下载完就首先关闭连接, Tracker 接收到此类型信息之后,也会将于客户端的连接进行关闭 |
ip (可选字段) |
Tracker 可以通过此变量信息来获取请求下载端(客户端)的ip地址, 也可以通过分析来自客户端的ip数据报获得,所以该字段是可写可不写的。 |
numwant (可选字段) |
在Tracker 接收到请求下载端向其发送的请求对等端的IP地址与端口号的请求的核实后, 会根据请求下载端发送信息中的 numwant 数值来决定将多少个对等端的 给请求下载者,该数值默认为 50 ,是可选可不选的,若没有特殊要求,不写它就会按照 50 进行返回。 如果有特殊的要求,则通过 numwant 既可以对原有默认的 50 数值进行更改 |
info_hash |
该字段与种子文件 .torrent 文件中的 info 的关键字是一一对应的。 |
key (可选项) |
功能与 peer_id 是相同的,普通功能中不会用到,若是基于 DHT 的话可能需要它 |
trackerid (可选项,一般不用) |
这个记录的是 Tracker 的标号,用于从备用 Tracker 上下载资源的情况,基本无用 |
点击(此处)折叠或打开
关键字/名称 | B编码类型 | 功能/含义 |
failure reason |
|
用于描述等待下载端向 Tracker 发送信息出错的描述信息 |
warning message | 字符串类型 | 用于描述等待下载端向 Tracker 发送信息警告的描述信息 |
interval | 整型类型 i...e | 用于记录当前等待下载端下一次与和 Tracker 连接之前需要等待的时间,单位是秒(整数) |
min interval | 整型类型 i...e | 用于记录当前待下载端下一次和Tracker 连接之前需要等待的最小时间,单位是秒 |
incomplete | 整型类型 i...e | 用于记录从当前的Tracker 下载共享文件还没有下载所有的文件块的请求下载端的个数 |
complete | 整型类型 i...e | 用于记录从当前的 Tracker 下载共享文件已经全部下载完成的请求下载端的个数 |
tracker id | 字符串类型 | 用于Tracker 唯一标识自己的 ID 号码,类似于请求下载端的 peer_id 字段的含义 |
peers |
字符串类型 <字符串长度>:<字符串内容> |
该字段是Tracker 在接收到请求下载端发送的请求 peer IP:port 信息之后, 将 peer 信息回复给请求下载端。 在这里需要注意的就是:peers后面的 ip 占位前4 个字节,port 占后 2 个字节 所以这个 peers后面的字符串长度数值一定是 6 的整数倍。 |
tracker response | 字典类型 |
tracker reponse 关键字在回复信息中是不可见的, 之所以这么表示是为了让使用者清楚,tracker response message 是字典类型 d....e |
点击(此处)折叠或打开