tracker服务器是BT下载中必须的角色。一个BTclient在下载开始以及下载进行的过程中,要不停的与tracker服务器进行通信,以报告自己的信息,并获取其它下载client的信息。这种通信是通过HTTP协议进行的,又被称为tracker HTTP协议,它的过程是这样的:

  client向tracker发一个HTTP的GET请求,并把它自己的信息放在GET的参数中;这个请求的大致意思是:我是xxx(一个唯一的id),我想下载yyy文件,我的ip是aaa,我用的端口是bbb。。。tracker对所有下载者的信息进行维护,当它收到一个请求后,首先把对方的信息记录下来(如果已经记录在案,那么就检查是否需要更新),然后将一部分(并非全部,根据设置的参数已经下载者的请求)参与下载同一个文件(一个tracker服务器可能同时维护多个文件的下载)的下载者的信息返回给对方。Client在收到tracker的响应后,就能获取其它下载者的信息,那么它就可以根据这些信息,与其它下载者建立连接,从它们那里下载文件片断。

关于client和tracker之间通信协议的细节,在“BT协议规范”中已经给出,这里不再重复。

实际上bt tracker还负有打洞的任务。下一张会研究一下tracker打洞技术。

tracker服务器相关推荐

  1. 自建服务器 下bt,使用Docker安装OpenTracker,自建BT Tracker服务器

    OpenTracker用于搭建Tracker服务器,据说该工具性能很强,就连全球最大的BT服务器海盗湾也在使用,有人专门制作了一个OpenTracker的Docker镜像,基本不到1分钟就可以搭建好一 ...

  2. linux bttrack服务,使用Docker安装OpenTracker,自建BT Tracker服务器

    说明:刚刚在LALA大佬博客闲逛了下,看到了个使用OpenTracker搭建Tracker服务器教程,据说该工具性能很强,就连全球最大的BT服务器海盗湾也在使用,这里虽然博主用不到,但考虑到有人会用到 ...

  3. 如何修改bt tracker服务器,bt tracker服务器

    bt tracker服务器 内容精选 换一换 云审计服务支持删除已创建的追踪器.删除追踪器对已有的操作记录没有影响,当您重新开通云审计服务后,依旧可以查看已有的操作记录.DELETE /v1.0/{p ...

  4. tracker服务器_.NET Core 开发 BT Tracker 服务器

    (给DotNet加星标,提升.Net技能) 转自:myzony cnblogs.com/myzony/p/10493707.html 一.什么是 BT Tracker  BT下载过程当中,我们如果拿到 ...

  5. mysql tracker_linux架设BT Tracker服务器小记

    linux架设BT Tracker服务器小记 目前开源的Bt tracker项目有: 官方Tracker为 www.bittorrent.com/ 使用python语言 windows下的tracke ...

  6. Tracker 服务器源码分析之四:Tracker 类

    转载自: http://blog.csdn.net/rstevens/archive/2004/06/22/22703.aspx 作者:小马哥 日期:2004-6-10 本篇文章分析 Tracker ...

  7. 用Bittorrent和PHP搭建BT Tracker服务器和发布页

    这玩意可真是困扰了我好几天,终于基本搞定了. 很早前就想整个BT服务器玩玩,一直都是最后半途而废.这次总算是把整个过程都弄明白了,其实根本就不是什么难事情,就是资料太难找了,在GOOGLE搜 的关于架 ...

  8. linux define路径,linux架设BT Tracker服务器小记

    目前开源的Bt tracker项目有: 官方Tracker为 www.bittorrent.com/ 使用python语言 windows下的tracker www.bitcomet.com/trac ...

  9. [分享]linux架设BT Tracker服务器小记

    原链接:www.taoer.com 目前开源的Bt tracker项目有: 官方Tracker为 www.bittorrent.com/ 使用python语言 xbtt.sf.net 的c++ tra ...

最新文章

  1. 让别人不知道你的网站使用PHP
  2. eltwise_layer.cpp:170: error: (-215:Assertion failed) inputs.size() = 2 in function 'cv::dnn::Eltwi
  3. Linux日志系统-06:案例2-实现httpd的日志滚动分割
  4. 蓝桥杯第五届决赛真题大全解(java版本)
  5. 检测Maven依赖中介
  6. 同样是卖票,为啥阿里卖电影票就不卡?技术上做了啥???
  7. 开源远程访问服务器工具_为什么开源需要可访问性标准
  8. siamese改进_[CVPR2019]我对Siamese网络的一点思考(SiamMask)
  9. 推荐一个高仿微信的项目 有点屌!!!
  10. 【Unity Shader】(九) ------ 高级纹理之渲染纹理及镜子与玻璃效果的实现
  11. 《剑指offer》第五十八题(左旋转字符串)
  12. C语言实现蔡勒公式求周几
  13. oracle 关联查询两个表,两张表关联查询,该怎么处理
  14. 简支梁挠度计算公式推导_简支梁的最大挠度计算公式 l.ppt
  15. IO中write函数
  16. php dingo和jwt,laravel dingo/api添加jwt-auth认证
  17. Excel删除文本中任意位置所有空格的3种方法比较
  18. Arduino ESP32Web配网(二)
  19. centos7 yum安装opensips-3-2 opensips-cli
  20. VMware(1):MacOS虚拟机无法设置自动调整大小(已解决)

热门文章

  1. 零基础无实物一步一步学PLCS7-1200仿真(三)-电动机正反转控制(互锁)
  2. 人大金仓与新疆大学开启产学研合作,助力数据库产业人才建设
  3. DB,DBMS,DBS之间的关系
  4. python刷OJ入门(指导篇)
  5. 冰雹猜想不一样的算法
  6. 招聘管理系统有哪些比较实用的功能呢?
  7. 微机原理与接口技术期末复习资料
  8. 【高级UI】【004】MeasureSpec测量模式
  9. 【linux】如何实现将图片用代码打印出来
  10. Mac 定时提醒应用 stretchly 配置