|
本帖最后由 2011yaya2007777 于 2025-8-13 17:04 编辑
断点续传:指的是在上传/下载时,将任务(一个文件或压缩包)人为的划分为几个部分,每一个部分采用一个线程进行上传/下载,如果碰到网络故障,可以从已经上传/下载的部分开始继续上传/下载未完成的部分,而没有必要从头开始上传/下载。可以节省时间,提高速度。
如果客户端HTTP读取数据遇到故障,有些也可以通过断点续传恢复。目前G4E已经实现了断点续传。比如接收操作失败"Fail to http->response",或者是等待回调完成没有反应"Fail to http->poll"。如果主机端HTTP服务不支持断点续传,则不能实现。
测试了几个常用的主机端HTTP服务对于断点续传的支持,结果如下:
1. EasyWebServer/1.9 完美支持断点续传
范围命令 含义 执行结果
bytes=64-83 读第64-83字节 读第64-83 正确
bytes=64- 从第64字节读到末尾 读64-314890968 正确
bytes=-8 从末尾读8字节 读314890961-314890968 正确
bytes=0- 从第0字节读到末尾 读0-314890968 正确
bytes=0-314890968 读0-314890968 正确
bytes=0-0 读第0字节 读0 正确
bytes=0-1 读第0-1字节 读0-1 正确
bytes=1-1 读第1字节 读1 正确
2. MyWebServer/3.8.195(By TGY) 有限支持断点续传范围命令 含义 执行结果
bytes=0-0 读第0字节 读0-314890968 错误
3. TinyPXEServer-1.0.0.23自带(Indy/9.00.10) 有限支持断点续传
范围命令 含义 执行结果
bytes=64- 从第64字节到末尾 读0-314890968 错误
bytes=-8 从末尾读8字节 读0-8字节 错误
bytes=0-314890968 读0-314890968 超时
注: range_end不能太大!可能造成公共缓存溢出,此后再测试都异常,需要重启主机端才能再测试。
bytes=0-0 读第0字节 读0-314890968 错误
4. zemu-0.2.0自带(Embeddable Web Server/1.1.3) 不支持断点续传
5. dhcpsrv2.5.2自带(dhcpsrv) 不支持断点续传
执行HEAD操作,返回filemax=0,严重错误。
|
|