BT运行期行为.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
BT运行期行为

BT运行期行为 BT运行期行为 昨天重新读了BT协议和客户端代码,发现对协议本身部分比较熟悉了,但是对BT在实际运行期间各种行为的发生情景还非常模糊,有些步骤还想清楚,大家一起来讨论一下. 我们来一起描述一下BT各种消息的发送情景. 有些不是特别肯定的我没有加上,大家在这个基础上进行增加或者修改. 其中client指本机上运行的BT客户端.peer指tracker返回的远程客户端. piece指torrent文件中的20byte SHA1 hash代表的数据段. block指每次向其他peer请求的数据段(子分片). [3-16更新] 1. client-tracker的GET消息. 1第一次启动后发送(携带event为started). 2以后根据tracker reponse中的interval定时发送. 3某种事件发生(stopped, completed)时发送. 4需要更多的peer列表时发送. 2.tracker-client的reponse 1每次收到client的GET请求后发送. 3.client-peer的handshake消息 1 client主动向peer发起TCP连接并成功建立,client主动发起handshake. 2 peer主动向client发起TCP连接并成功建立, client收到peer的handshake后回应handshake. 4.peer-client的handshake消息 1 peer主动向client发起TCP连接并成功建立,peer主动发起handshake. 2 client主动向peer发起TCP连接并成功建立, peer收到handshake的handshake后回应handshake. 5.client-peer的bitField消息 1 如果client主动发起连接,client收到peer的handshake回应后,发送bitField消息. 2 如果peer主动发起连接,client回应完handshake后发送bitField消息. 6.peer-client的bitField消息 1 如果peer主动发起连接,peer收到client的handshake回应后,发送bitField消息. 2 如果client主动发起连接,peer回应完handshake后发送bitField消息. 7.client-peer的keep-alive消息 1定时发送(2分钟一次) 8.peer-client的keep-alive消息 1定时发送(2分钟一次) 9.client-peer的choke消息 1 每隔30秒扫描一次peer列表,对不符合条件??的peer发送choke ??? 2 如果接到peer的无效request请求,向peer发送choke 10.peer-client的choke消息 1 每隔30秒扫描一次peer列表,对不符合条件??的peer发送choke ??? 2 如果接到client的无效request请求,向client发送choke 11.client-peer的unchoke消息 1 每隔30秒扫描一次peer列表,对符合条件??的peer发送unchoke ??? 12.peer-client的unchoke消息 1 每隔30秒扫描一次peer列表,对符合条件??的peer发送unchoke ??? 13.client-peer的interested消息 1 收到peer的bitField消息后,根据本地情况进行判断是否向peer发送interested消息. 2 收到peer的have消息后,根据本地情况进行判断是否向peer发送interested消息. 14.peer-client的interested消息 1 收到client的bitField消息后,根据本地情况进行判断是否向client发送interested消息. 2 收到client的have消息后,根据本地情况进行判断是否向client发送interested消息. 15.client-peer的not interested消息 1 收到peer的bitField消息后,根据本地情况进行判断是否向peer发送not interested消息. 2 收到peer的piece消息后,根据本地情况进行判断是否向peer发送not interested消息. 16.peer-client的not interested消息 1 收到client的bitField消息后,根据本地情况进行判断是否向client发送not interested消息. 2 收到client的piece消息后,

文档评论(0)

f8r9t5c + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:8000054077000003

1亿VIP精品文档

相关文档