实现断点续传的两种思路

转载 2007年10月15日 08:59:00
实现流程

首次传输其流程如下

1.服务端向客户端传递文件名称和文件长度
2.跟据文件长度计算文件块数
3.客户端将传输的块数写入临时文件(做为断点值)
4.若文件传输成功则删除临时文件

首次传输失败后将按以下流程进行

1.客户端从临时文件读取断点值并发送给服务端
2.服务端与客户端将文件指针移至断点处
3.从断点处传输文件

这是当时的思路,但是因为当时用了CFile类实现,而不是SDK,所以我不得不重写,重写时断点续传又重新成了问题

1.下载的是文件列表
2.因为效率不再采用分块传输
3.如何记录文件列表与断点值

鉴于我以前做的断点续传,思路被禁固了一样 转不开弯  直到后来KING老大提示才饶过这个弯 其思路如下

1.客户端用CreateFile以OPEN_EXISTING方式打开要下载的文件列表
2.若成功说明有断点文件,则用GetFileSize得到大小做为断点
3若失败说明文件不存在,则创建一个文件

思路是相当简单的,而且一个好处是不用记录断点值  干净利落 呵呵 
 

android断点续传下载实现的大致思路

以下载为例: 使用HttpURLConnection进行下载,使用RandomAccessFile进行文件写入。 1、需要获取需要下载的文件大小并设置到本地文件,使用: int filesize...
  • u013749540
  • u013749540
  • 2016-08-30 16:31:32
  • 329

Android中实现多线程下载的两种方式示例及浅析之二(Thread加断点续传)

[1]前言: 之前写了一篇名为《Android中实现多线程下载的两种方式示例及浅析之一(无断点续传)》的博客,是自己在借鉴别人思路基础之上实现的没有断点续传功能的多线程下载demo,一直都想写一个...
  • u012320459
  • u012320459
  • 2015-08-09 11:40:16
  • 691

实现断点续传的两种思路

2007年10月14日 13:30:00在7月份分别做了多线程下载和断点续传 ,但当时只是测试,用了大文件分块传输的方法 实现流程首次传输其流程如下1.服务端向客户端传递文件名称和文件长度2.跟据文件...
  • jackson031
  • jackson031
  • 2008-01-13 22:34:00
  • 314

HTTP实现断点续传的方式

以下是我请求一个pdf文件的请求报文与响应报文的头部信息。可以看到如何完成http请求一个pdf的完整的过程,整个pdf总共223,652 字节,由抓到的数据包可以分析出这个文件被服务器通过两个htt...
  • gdutliuyun827
  • gdutliuyun827
  • 2014-02-08 09:25:04
  • 1247

webuploader 实现文件断点续传

先去下载webuploader只需要将下面4个文件添加到工程里面就可以了
  • sinat_38843093
  • sinat_38843093
  • 2017-12-22 16:27:30
  • 174

HTTP必知必会——断点续传原理

要实现断点续传的功能,通常都需要客户端记录下当前的下载进度,并在需要续传的时候通知服务端本次需要下载的内容片段。 HTTP1.1协议(RFC2616)中定义了断点续传相关的HTTP头 Range...
  • zhangliangzi
  • zhangliangzi
  • 2016-05-09 00:28:22
  • 8197

Java编写的断点续传的一个Demo示例

最近在研究Java的网络编程。在学习了基础知识和原理之后,觉得可以搞一个断点续传的Demo示例。分享记录一下。 涉及到的Java知识点:URL,HttpURLConnection,RandomAcce...
  • frankingly
  • frankingly
  • 2016-07-04 16:08:24
  • 4872

PHP断点续传的原理与实现

PHP断点续传的原理与实现 断点续传主要是HTTP协议中的Content-Range报头。其理解如下: Content-Range:响应资源的范围。可以在多次请求中标记请求的资源范围,在连接断开重新连...
  • u012675743
  • u012675743
  • 2015-04-18 16:34:06
  • 6976

Qt编程9:QFtp断点续传(普通文件)

针对QFtp修改
  • jiezhj
  • jiezhj
  • 2014-06-20 14:42:01
  • 3251

断点续传 app版本更新

版本不同,开启服务,根据判断条件,如果未下载 或未下载完,开启AsyncTast进行断点下载。 将基本数据保存在了SharedPreferences中 其中字段: dlversion:版本号存储 dl...
  • tianfuxiaoyan
  • tianfuxiaoyan
  • 2017-04-20 10:36:40
  • 922
收藏助手
不良信息举报
您举报文章:实现断点续传的两种思路
举报原因:
原因补充:

(最多只允许输入30个字)