bt
文章平均质量分 77
ach999
这个作者很懒,什么都没留下…
展开
-
bt客户端源码分析之三: StorageWrapper 类
StorageWrapper 的作用:把文件片断进一步切割为子片断,并且为这些子片断发送 request消息。在获得子片断后,将数据写入磁盘。请结合 Storage 类的分析来看。 几点说明:1、 为了获取传输性能,BT把文件片断切割为多个子片断。2、 BT为获取一个子片断,需要向拥有该子片断的peer发送request消息(关于 request消息,参见《BT协议规范》)转载 2006-06-12 19:50:00 · 1089 阅读 · 0 评论 -
bt客户端源码分析之二: Storage 类
由于 Storage 类比较简单,我直接在源码基础上进行注释。掌握Storage,为进一步分析 StorageWrapper 类打下基础。 几点说明:1、 Storage 类封装了对磁盘文件的读和写的操作。2、 BT既支持单个文件的下载,也支持多个文件,包括可以有子目录。但是它并不是以文件为单位进行下载和上传的,而是以“文件片断”为单位。这可以在BT协议规范以及另一篇讲BT技术转载 2006-06-12 19:51:00 · 841 阅读 · 0 评论 -
BT客户端源码分析之一:总述
概述:相对于 tracker 服务器来说,BT客户端要复杂的多,Bram Cohen 花了一年 full time 的时间来完成 BT,我估计其中大部分时间是用在 BT 客户端的实现和调试上了。由于 BT 客户端涉及的代码比较多,我不能再象分析 tracker 服务器那样,走上来就深入到细节之中去,那样的话,我写的晕晕糊糊,大家看起来也不知所云。所以第一篇文章先来谈谈客户端的功能、相关协议,以及客转载 2006-06-12 19:52:00 · 1026 阅读 · 0 评论 -
bt客户端源码分析之四:PiecePicker 类
PiecePicker 用于实现“片断选择算法”,片断选择算法在《Incentives Build Robustness in BitTorrent》一文中有介绍,我把相关内容列出来。 BT的片断选择算法,综合下面几种策略。 l 严格的优先级 片断选择的第一个策略是:一旦请求了某个片断的子片断,那么该片断剩下的子片断优先被请求。这样,可以尽可能快的获得一个转载 2006-06-12 19:48:00 · 761 阅读 · 0 评论