我心中有几个疑问,同时也搜索了点素材,肯能对理解问题有帮助。

BT下载,即P2P下载,是一种不需要中心化服务器的下载,实现原理是,每个客户端在下载的时候也作为服务器。

我的疑问是,P2P各个节点是如何发现彼此的,我猜想是这样的,一个节点把信息发送到服务器,然后服务器维护一个列表,这个列表包含了拥有资源的客户端信息,其它节点从服务器读取这个列表,连接下载。可是我说的这个过程是需要用到服务器的,和P2P的概念是冲突的。我又猜测了一种方法,就是种子(种子中包含节点的IP 端口等信息?我不太确定,假设有),拥有资源的节点用户在各种社交平台发布种子文件,然后其它节点的用户下载这个种子之后就能连接上了资源节点了。可是其它客户端怎么更新种子信息呢?因为有人已经下载过了,下载过的节点也就可以作为P2P的节点了,得把这个信息告诉所有的P2P节点啊,要不然还是只能从最开始发布种子的那个节点下载。

这里有个链接:软件是如何连接到DHT网络的

https://www.zhihu.com/question/28235205

BT种子原理是什么

https://www.zhihu.com/question/49829233

我觉得有必要研究一下种子文件的结构

google上能搜索到几篇文章,感觉很有用

聊聊 GFW 如何封杀 Resilio Sync(BTSync)?以及如何【免FQ】继续使用?

扫盲 BTSync(Resilio Sync)——不仅是同步利器,而且是【分布式】网盘

聊聊分布式散列表(DHT)的原理——以 Kademlia(Kad) 和 Chord 为例

最新文章

  1. F#之旅5 - 小实践之下载网页(爬虫基础库)
  2. 洛谷 P1182 数列分段Section II Label:贪心
  3. Nutch2.x
  4. HTML动画分类 HTML5动画 SVG库 SVG工具 Canvas动画工具
  5. Linux Shell编程三
  6. android 实现拍照的2种方法
  7. Oracle自动执行任务(存储过程)
  8. 泥瓦工vps
  9. mysql常用的一些修改命令
  10. MemberShip的 链接字符串的使用
  11. css揭秘
  12. jQuery,js如何扩展自定义方法
  13. 对Excle的行和列进行检查 单元格类型转换代码 ;
  14. Hie with the Pie(POJ3311+floyd+状压dp+TSP问题dp解法)
  15. 解决win10下git闪退
  16. UVa 637 - Booklet Printing
  17. java设计模式3--单例模式(Singleton)
  18. java通过URL获取文本内容
  19. Maven的安装环境变量配置
  20. 封装字符串的Format操作

热门文章

  1. CTF学习资料总结
  2. struts1和struts2原理解析
  3. TypeError: parse() got an unexpected keyword argument 'transport_encoding' 安装tensor后报错
  4. test20181219 奇怪的函数
  5. Sentry的授权模型
  6. Java 编码规范
  7. 参数化防SQL注入
  8. nginx 限制
  9. SpringMVC上传文件大小的设置
  10. java代码确认出ip和主机名