将文件拆分为UDP数据包大小的块以进行对等文件共享的最佳方式

本文关键字:对等 文件共享 方式 最佳 拆分 UDP 数据包 文件 | 更新日期: 2023-09-27 18:26:45

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

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

感谢

将文件拆分为UDP数据包大小的块以进行对等文件共享的最佳方式

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