我正在开发P2P文件共享程序,为了以小位传递文件,我需要以某种方式拆分上传的文件。 现在,我已经制作了一个程序,将文件拆分成小文件并使用C#Stream类将它们放在一个文件夹中,它也可以重建它。然而,它效率低下并且需要花费很多时间。我想过根据请求的文件从流中读取数据,然后发送它而不保存。但是,我不知道如何按正确的顺序将它添加到接收端,因为数据不会按顺序发送。
另一方面,bitTorrent如何做这种功能?
感谢
答案 0 :(得分:1)
接收器需要存储块。发件人没有。也许,您应该在磁盘上初始化的接收器上创建整个文件。然后,您可以在收到孔时填写孔。您需要一个单独的结构来跟踪那里的范围,例如setDiskCache
。