类似BT或者电骡那样多线程传文件怎么做呢???我以前做的传文件必须从头传到尾,而那些软件可以不管顺序的传输,怎么做呢???(24分)

  • 主题发起人 主题发起人 wanglong
  • 开始时间 开始时间
W

wanglong

Unregistered / Unconfirmed
GUEST, unregistred user!
类似BT或者电骡那样多线程传文件怎么做呢??我以前做的传文件必须从头传到尾,而那些软件可以不管顺序的传输,怎么做呢??
 
他也是从头传到尾!
只不过先把文件切割成一小段一小段,每个小段里面从头传到尾而已。[:D]
 
那如何把一小段一小段的文件变成一个大文件呢??
 
把文件读入内存中,就是二进制的文件流
var
FS: TFileStream;
MM: TMemoryStream;
Buf: Array of Byte;
begin
FS := TFileStream.create('aa.bat', fmOpenRead);
MM := TMemoryStream.create;
CopyMemory(MM, FS, 100);
...

SetLength(Buf, MM.Size);
FS := TFileStream.create('aa.bat', fmOpenWrite);
FS.WriteBuffer(Buf, SizeOf(Buf));
...
end;
 
BT或者电骡是把文件分成若干块,然后随机传的。
 
TO masm:
只不过先把文件切割成一小段一小段,每个小段里面从头传到尾而已。[:D]

那最后整个文件的合并会不会顺序混乱?是不是每个小段都要标识记号了?
 
多人接受答案了。
 
后退
顶部