bittorrentprotocolspecificationbt协议规范(编辑修改稿)内容摘要:
rape page. Examples: (announce URL scrape URL) (scrape not supported) (scrape not supported) (scrape not supported) Note especially that entity unquoting is not to be done. This standard is documented by Bram in the BitTorrent development list archive: The scrape URL may be supplimented by the optional parameter info_hash, a 20byte value as described above. This restricts the tracker39。 s report to that particular torrent. Otherwise stats for all torrents that the tracker is managing are returned. Software authors are strongly encouraged to use the info_hash parameter when at all possible, to reduce the load and bandwidth of the tracker. The response of this HTTP GET method is a text/plain document consisting of a bencoded dictionary, containing the following keys files: a dictionary containing one key/value pair for each torrent for which there are stats. If info_hash was supplied and was valid, this dictionary will contain a single key/value. Each key consists of a 20byte binary info_hash value. The value of that key is yet another nested dictionary containing the following: o plete: number of peers with the entire file, . seeders (integer) o downloaded: total number of times the tracker has registered a pletion (event=plete, . a client finished downloading the torrent) o inplete: number of nonseeder peers, aka leechers (integer) o name: (optional) the torrent39。 s internal name, as specified by the name file in the info section of the .torrent file Note that this response has three levels of dictionary nesting. Here39。 s an example: d5:filesd20:....................d8:pletei5e10:downloadedi50e10:inpletei10eeee Where .................... is the 20 byte info_hash and there are 5 seeders, 10 leechers, and 50 plete downloads. 4 Peer wire protocol Overview: The peer protocol facilitates the exchange of pieces as described in the metainfo file. Note here that the original specification also used the term piece when describing the peer protocol, but as a different term than piece in the metainfo file. For that reason, the term block will be used in this specification to describe the data that is exchanged between peers over the wire. A block is typically lesser in size than the piece. A client must maintain state information for each connection that it has with a remote peer: Choked: Whether or not the remote peer has choked this client. When a peer chokes the client, it is a notification that no requests will be answered until the client is “unchoked”. The client should not attempt to send requests for blocks, and it should consider all pending (unanswered) requests to be discarded by the remote peer. Simply saying “when you are choked by the peer you can not download pieces from the peer until you are unchoked”. Interested: Whether or not the remote peer is interested in something this client has to offer. This is a notification that the remote peer will begin requesting blocks when the client unchokes it. Typically the peer will send this message after it had received a BitField message from the client telling the peer the list of pieces it has. Note that this also implies that the client will also need to keep track of whether or not it is interested in the remote peer, and if it has the remote peer choked or unchoked. So, the real list looks something like this: am_choking: this client is choking the peer am_interested: this client is interested in the peer peer_choking: peer is choking this client peer_interested: peer is interested in this client Client connections start out as choked and not interested. In other words: am_choking = 1 am_interested = 0 peer_choking = 1 peer_interested = 0 A block is downloaded by the client when the client is interested in a peer, and that peer is not choking the client. A block is uploaded by a client when the client is not choking a peer, and that peer is interested in the client. It is important for the client to keep its peers informed as to whether or not it is interested in them. This state information should be kept uptodate with each peer even when the client is choked. This will allow peers to know if the client will begin downloading when it is unchoked (and viceversa). Data Types: Unless specified otherwise, all integers in the peer wire protocol are encoded as four byte bigendian values. This includes the length prefix on all messages that e after the handshake. Message flow: The peer wire protocol consists of an initial handshake. After that, peers municate via an exchange of lengthprefixed messages. The lengthprefix is an integer as described above. Handshake: The handshake is a required message and must be the first message transmitted by the client. handshake: pstrlenpstrreservedinfo_hashpeer_id o pstrlen: string length of pstr, as a single raw byte . o pstr: string identifier of the protocol. o reserved: eight (8) reserved bytes. Each bit in these bytes can be used to change the behavior of the protocol. An from Bram suggests that trailing bits should be used first, so that leading bits may be used to change the meaning of trailing bits. o info_hash: 20byte SHA1 hash of the info key in the metainfo file. This is the same info_hash that is transmitted in tracker requests. o peer_id: 20byte string used as a unique ID for the client. This is the same peer_id that is transmitted in tracker requests. In version of the BitTorrent protocol, pstrlen=19, and pstr=BitTorrent protocol. A typical Hand Shake message in java will look like this “out” is the outputstream we are writing to Then Handshake is : (19)。 (“BitTorrent protocol.getBytes())。 byte[] reservedbytes = new。bittorrentprotocolspecificationbt协议规范(编辑修改稿)
相关推荐
e is a general tendency … ⑩ Nowadays … has bee a problem we have to face . ( 3)用于比较、阐述不同观点的常用句型 ① Some people like / prefer …, while others are / feel inclined t o … ② There are different opinions
电话: 075583012821 83012823 邮编: 518033 传真: 075583983851 13 Modul LED 正常运行 LED 绿 非紧急报警 LED 黄 紧急报警 LED 红 OUT LED 输入功率正常 LED 绿 输出功率减少 LED 黄 输出功率损失 LED 红 备用操作 LED 黑 IN LED 正常输入功 率 LED 绿 无标称输入功率 LED 黄
开发工具, 落后主要竞争对手已经很多了。 现在 Microsoft 居然更早一步推出 Java 开发工具,而 且是由 Anders Hejlsberg 主持开发的。 Borland当然知道 Anders Hejlsberg的实力, 自然不敢轻视 VJ++的影响力。 更麻烦 的是在 VJ++推出之前, Microsoft 一直对 VJ++保 持模糊的态度,不愿意表明 VJ++是否是一个纯正
10元一个, 15元 2个 ;挂件和魔方一组,挂件加魔方 10元, 15元挂件任选 2件;另魔方单卖5元,后具体活动时,由于客户的不同需求,我们也将袜子和挂件搭配,定价依然是 10元(此是后话)。 日上午,由于活动的时间与上课时间有一定冲突, 成员们第 3 次来到管理学院基础部找徐祖英老师出示请假证明。 最后,我们自己写好假条,由老师盖章证明,得到了任课老师的认同和支持。 活动日当天, 9
择屏幕关闭的模式。 但若无法顺利关闭屏幕,则设定为 Blank若显示 卡支持 DPMS 功能,则设定为DPMS。 PWRButton4secs(按住电源开关键少于 4 秒,默认值为 SoftOff) 本功能设定当压住电源按键时间少于 4秒的情况下,系统的操作模式。 SoftOff:执行 ATX 电源软件关机。 Suspend:系统进入暂停( Suspend)模式。 NOFunction
卡的显示内存大小,缺省值为 “64MB”。 11. Falsh BIOS Protection( Falsh BIOS保护) 是否将 Falsh BIOS设置成保护状态,缺省值为 “Disabled”。 五. Integrated Peripherals(综合外部设备设置) 在 Integrated Peripherals中,主要是为了设置所有外部设备运行的相关参 数。 (如图 6所示) (图