因为工作原因,仔细研究过bt下载程序.sf.net上面搜索bittrorrent前10位的代码,我一一看过

现在好像有比较多的人研究这个,所以我把我的心得写下来和大家交流. bittorrent从技术角度并不难,关键是idea非常新颖,官方网站上的那幅图就描述的非常清楚了.从大的方向上把握下面几点就可以 bt协议分3个部分

  1. 是文件信息编码

  2. 是peer之间网络通讯协议

  3. peer和http server交互的协议.

官方网站上的spec描述的很清楚了,网上也有翻译的中文版.

个人建议,要读bt源代码,好好把这几个spec看明白 。bsttorrent 的服务器是一个web服务器,peer之间交流,都是把请求包装成http形式发送, 这个idea也非常好,再保证一定效率的情况下,解决了防火墙的问题.