BitTorrent 顺序片下载

BitTorrent sequential piece download

我正在尝试在 Java 中实现一个按顺序下载片段的 bit torrent 客户端。这个想法是它可以让我在实际下载完成之前播放下载的媒体内容(视频和歌曲)内容。

是否可以使用 bit torrent 协议来做到这一点?

Is it possible to do this with the bit torrent protocol?

是的,但不鼓励这样做,因为它会降低整个 bittorrent 的效率。

阅读 bittorrent economics paper 的第 2.4 节,尤其是第 2.4.2 节标题为 Rarest First 为什么随机选择棋子很重要。

就是说,如果您可以确定群是健康的(最小片段可用性高,持续下载率高),那么您可以将下载带宽的 部分 用于顺序片段选择是否以及何时需要顺序下载。

这可以通过实现按需下载片段的虚拟文件系统(通过 FUSE 或 java 的 nio2 文件系统 API)来实现。没有需求的时候也不需要顺序取。