BT是如何工作的?

目前采用BT协议实现的下载工具,比较有代表性的有:BitTorrent(及继承版本),BitComet,FlashBT等,这些软件都很好的实现了BT协议,以及有些还实现了DHT协议。

BT的下载是通过下载用户之间的互相下载来实现,一个BT用户可以从多个BT用户那边下载同一个文件的不同片断,同时也将已下载完成的文件片断提供给其他的BT用户下

载。所以,BT用户既是一个下载者,也是一个下载服务提供者。用户首先要到网上下载*.torrent的BT文件,在这个文件里,描述了下载的文件信息,以及BT服务器的信息,包含

服务器的地址,端口等。BT服务器可以是TCP模式,也可以使UDP模式,这些端口都是可以随意可变的。BT下载软件在解析*.torrent文件后,将会连接BT服务器,以获取可以

下载这个文件的其他BT用户信息,并将自己的信息告诉给BT服务器。之后与这些BT用户连接,开始下载。但这里有关键的一步,BT用户必须通过BT服务器获取其他BT用户的

信息。

为了解决不需要BT服务器的问题,BT新的协议中,引入了Kademlia 协议,Kademlia network简称KAD网络,在BT中叫DHT。DHT采用UDP方式通信,他不需要任何的服务

器协助,只要有其他一个BT用户的信息,就可以通过这个用户获取到其他与这个BT用户相邻的BT用户的信息,同时将自己的信息告诉给这个相邻的BT用户。从而获得整个网络

中在下载这个文件,有这个文件的在线BT用户,并与这些用户连接,完成下载。同时BT软件会启动一个监听端口,等待其他的BT用户来连接,这个BT监听端口是可以用户自己

设定的。所以无法通过防火墙封堵端口来实现对BT的封堵。



eMule(eDonkey)是如何工作的?

eMule/eDonkey中采用的是ED2k协议与BT协议类似,eD2K的服务器维护着所有eD2K用户共享着的文件信息。用户通过服务器获取文件信息和拥有这些文件的用户信息,

并与这些用户连接完成下载,采用TCP方式通信。最初,只有eDonkey一种客户端,后来,在ED2k协议的基础上发展出许多客户端,例如:MLdonkey、BOT、xMule、

cDonkey、shareaza、eD Hybird、eMule(MLdonkey、BOT被许多服务器禁止登录)。其中最好的一种客户端是eMule,使用者也最多。eMule由于是开放源码,因此eMule里

拥有众多的MOD,比如LSD、plus等。本论坛推荐使用的acat版也是eMule里的MOD之一。

同时eMule为了减少服务器的负担,不需要服务器,也引入了Kademlia 协议,在这里叫做KAD网络,采用UDP方式通信。

BitComet 0.90 ED下载功能插件用于下载电驴eMule资源

下载地址
http://cn.bitcomet.com/beta/BitCometBeta_20070612_plugin.exe

插件安装成功后,进“选项”→“ED下载”选中“启用插件”。

BitComet 0.90 ED下载功能的插件下载地址相关推荐

  1. c4android插件下载,c4droid gcc插件下载

    gcc for c4droid最新版是手机编程学习软件c4droid的一款支持C++语言的插件,更高效的处理cpp语句,有效提升编辑速度和调试效率,欢迎感兴趣的朋友来IT猫扑网下载. c4droid ...

  2. pycharm插件下载慢(pycharm插件下载慢原因)

    pycharm插件下载慢,pycharm里面下载库也是非常的慢. 这其实是个常识性的问题,我们下载的慢是因为Python使用pip方法安装第三方包时,需要从,https%3A%2F%2Fpypi.or ...

  3. 世界级版本控制工具Vault v10.0发布,多项功能改进|附下载

    2019独角兽企业重金招聘Python工程师标准>>> 版本控制工具Vault 版本更新至v10.0,增加了对SQL Server 2016,Visual Studio 2017等的 ...

  4. Listen 1添加下载功能(列表下载方法)(v2.6)

    感谢  listen1 的项目的作者和开发者做出如此强大的音乐播放器 项目地址 感谢Hello_wshuo提供的方案思路和代码 可以下载我已经改好的源码(在selfUse支线​​​​​​​) 修改后代 ...

  5. 微信小程序实现下载功能(以下载视频为例)

    首先,采用 wx.downloadFile()方法,访问视频对应的Url,回调函数返回一个该视频文件的临时路径. wx.downloadFile({url: app.serverUrl + me.da ...

  6. eclipse java 插件下载_Eclipse及其插件下载网址大全

    log4j.rootLogger=DEBUG,CONSOLE,A1,im log4j.addivity.org.apache=true # 应用于控制台 log4j.appender.CONSOLE= ...

  7. 前端get请求接收后端传来的二进制文件流blob实现下载功能,解决下载文件打不开问题

    解决方法:         前端在请求下载文件接口时,要设置responseType为blob. 前端代码: export function download(url, params) {return ...

  8. 全自动php采集插件下载,phpquery采集插件下载

    phpQuery是一个基于PHP的服务端开源项目,它可以让PHP开发人员轻松处理DOM文档内容,比如获取某新闻网站的头条信息.更有意思的是,它采用了jQuery的思想,你可以像使用jQuery一样处理 ...

  9. ssm上传文件获取路径_SSM实现图片上传下载功能

    0. 基本步骤框架搭建 实现带图片上传的注册功能 实现下载功能 1. 框架搭建 Step1 创建开发项目 创建基础MVC包结构:controller.service.mapper.pojo Step2 ...

最新文章

  1. 【C语言】07-预处理指令;-宏定义
  2. 带有.rdlc报表的项目发布需要注意的问题
  3. HTTP-GET, HTTP-POST and SOAP的比较
  4. 阿拉伯与罗马数字互转程序
  5. 限制tomcat带宽_必看的Tomcat性能优化
  6. oracle nowday,Java MonthDay now()用法及代码示例
  7. Selenium webdriver中的xpath定位
  8. GTRD:最全面的人和小鼠转录因子chip_seq数据库
  9. 2020PayPal提现有哪些渠道?听说注册义乌个体户也可以!
  10. Bit、Byte、kb、KB、MB、KiB、MiB各表示什么意思?
  11. 艾司博讯:拼多多怎么设置团长ID?团长权限?
  12. 关系型数据库之MySQL8——由内而外的深化全面学习
  13. 互联网络彻底瘫痪的可能性研究
  14. 在私有组中将项目可见性从私有更改为内部导致500错误
  15. css画企鹅,知识点
  16. 数数小绵羊(四刷) kkmd66
  17. 容器化技术(Docker相关)
  18. IPA 包不经过APP Store直接发布到网站供用户下载安装
  19. 【如何开发小程序】自己如何开发小程序?
  20. 微信小程序之轮播图的设置

热门文章

  1. 测试集和训练集8:2切分
  2. interrupt using
  3. 查看主机oracle 版本,CentOS下查看Oracle数据库版本
  4. 【网络工程师精华篇】超实用!100个网络基础知识汇总,网络工程师必备!
  5. 第13届景驰-埃森哲杯广东工业大学ACM程序设计大赛 D-psd面试
  6. echarts 中国地图 世界地图
  7. ubuntu上关于anaconda虚拟环境配置
  8. oracle 获取当月的1号_Oracle 获取当前年、月、日
  9. Ceph分布式存储系统介绍
  10. 应用ceph块存储(ceph-13.2.10)