能谈谈端点续传的功能是怎样实现的(客户端和服务器),想在自己写的程序中加入此功能。(100分)

  • 主题发起人 主题发起人 element
  • 开始时间 开始时间
断点续传应该由客户端记录断点位置,以及相应的需续传的文件.
断点续传由客户端发起请求(应把断点位置和文件告诉服务器端),服务器端根据
断点位置和文件信息续传文件.Ftp由续传功能,用TCP/IP也不难,可以以数据包的
形式分包发送个客户端,客户端在原来文件的基础上累加数据即可
 
主要看服务器是否支持,如果ftp,看他是支持rest指令
如果是http,看他是否支持content-Range
你分析一下flashget的过程就知道了
 
一.HTTP -->
如果使用ICS控件,那么
HttpCli.ContentRangeBegin := '100' 表示从100开始
HttpCli.ContentRangeEnd :='' 表示一直到结束
HttpCli.ContentRangeEnd :='200' 表示到200字节处结束

如果使用 TNMHTTP 控件
在OnAboutToSend事件,写:
NMHTTP1.SendHeader.Values['Range'] := 'bytes=100-' 表示从100字节处开始下载到最后
NMHTTP1.SendHeader.Values['Range'] := 'bytes=100-200' 表示从100字节处开始下载到200字节处结束

二.Ftp --->
NMFtp.DoCommand('Rest '+IntToStr(起始位置));
NMFtp.DownloadRestore('a.doc','a.doc');
这是用TNMFtp来续传的代码。
 
后退
顶部