断点续传的一些疑问,望有人解答下(30分)

  • 主题发起人 主题发起人 huangjacky
  • 开始时间 开始时间
H

huangjacky

Unregistered / Unconfirmed
GUEST, unregistred user!
我在盒子上面下了几个代码,自己也看了下,有些哥们传的代码就是用Indy控件支持的断点,哎。。。。

我现在的理解:C2S的请求中带上本地临时文件的大小,S收到后,根据这个大小seek到这个位置。
第一个问题:这个大小是用一个stream来读本地临时文件,需要减去1不(我看了几份代码,有人减去了1的)?貌似迅雷采用的另外一个文件.cfg来保存这个信息

第二个问题:本地保存文件用TFileStream还是TMemoryStream还一些?我知道2个都可以。。。我现在暂时用的内存流

第三个问题:本地临时文件,打开的那个流,要是遇到文件特别大,比如bds2007.iso 4个多G,怎么预防流的溢出?

暂时三个问题。

求 解答的兄弟 别说直接用Indy,还是自己用sockAPI来写。谢谢合作,也谢谢解答.
或者断点有没有其他思路
 
第二个问题:用TFileStream!打开TMemoryStream的代码你看下,load和save的代码还是创建了TFileStream!
3.流最大只能打开4G的文件,超过4g,用流就不行了!
 
好的先谢谢
 
第二个:用TfileStream,用TmemoryStream,如果文件过大会使内存资源不够.
 
一般来讲,对于超大的文件处理,都是采用文件的内存映射来处理的,常规的流方法在效率和资源方面都不能保证。
 
分比较少,而且不知道怎么分配,就平均了,希望几位不要见怪。
 
多人接受答案了。
 
后退
顶部