0

我正在开发一个 P2P 文件共享程序,为了以少量的方式传递文件,我需要以某种方式拆分上传的文件。现在,我制作了一个程序,将文件拆分为小文件,并使用 C# Stream 类将它们放入文件夹中,它还可以重建它。但是,它效率低下并且需要很多时间。我想根据请求的文件从带有偏移量的流中读取数据,然后在不保存的情况下发送它。但是,我不知道如何以正确的顺序将其添加到接收端,因为数据不会按顺序发送。

顺便说一句,bitTorrent 是如何实现这种功能的?

谢谢

4

1 回答 1

1

接收方需要存储块。发件人没有。可能,您应该在磁盘上初始化的接收器零上创建整个文件。然后,您可以在收到它们时填充这些孔。您需要一个单独的结构来跟踪还存在哪些范围,例如List<Tuple<int, int>>.

于 2015-12-13T16:32:27.143 回答