BT Tracker 通信
1.torrent种子文件结构
种子文件里的内容其实就是文本
,是经过B编码之后的文本
。它主要包含以下字段:
- info,必须。一个描述torrent文件的字典,有两种可能形式,一种是没有目录结构的“单一文件”,一种是有目录结构的“多文件”;
- announce,必须。tracker服务器的地址URL(字符串);
- announce-list,可选。tracker服务器列表,这是官方规范的一个扩展,向后兼容。可用来存储备用服务器列表;
- create date,可选。torrent文件的创建时间,为Unix时间戳;
- comment,可选。一些备注信息之类;
- created by,可选。说明torrent文件是由哪个程序创建的;
- encodeing,可选。info字典中pieces字段的编码格式。
1.1 其中info字段又包含以下的结构:
- piece length,必须。每个piece的长度;
- pieces,必须。20字节的SHA1散列值,每块(piece)一个,没有经过urlencode的字符串;
- private,可选。如果设置为1,客户只从种子规定的tracker获取peers,如果为0,会从外部获取。对于PT来说,肯定是1;