实现断点续传的两种思路

原创 2007年10月09日 14:38:00
.












在7月份分别做了多线程下载和断点续传 ,但当时只是测试,用了大文件分块传输的方法

实现流程

首次传输其流程如下

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

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

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

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

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

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

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

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







文件断点续传原理与实现

文件断点续传原理与实现 在网络状况不好的情况下,对于文件的传输,我们希望能够支持可以每次传部分数据。首先从文件传输协议FTP和TFTP开始分析, FTP是基于TCP的,一般...
  • zdy0_2004
  • zdy0_2004
  • 2014年12月09日 00:56
  • 19939

HTTP断点续传的基本原理

 HTTP断点续传的基本原理断点续传是我们现在经常接触的概念,那么HTTP协议是如何支持断点续传的呢。我们先从一个例子来看看。 下面是一个断点续传的例子:(使用Net Vampire得到) I 01-...
  • sendy888
  • sendy888
  • 2007年07月31日 13:54
  • 50021

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

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

解读断点续传的基本原理

断点续传的理解可以分为两部分:一部分是断点,一部分是续传。断点的由来是在下载过程中,将一个下载文件分成了多个部分,同时进行多个部分一起的下载,当某个时间点,任务被暂停了,此时下载暂停的位置就是断点了。...
  • qq_23174861
  • qq_23174861
  • 2015年11月19日 11:27
  • 1223

HTTP断点续传(分块传输)

断点续传:指的是在上传/下载时,将任务(一个文件或压缩包)人为的划分为几个部分,每一个部分采用一个线程进行上传/下载,如果碰到网络故障,可以从已经上传/下载的部分开始继续上传/下载未完成的部分,而没有...
  • u011012932
  • u011012932
  • 2016年11月21日 14:19
  • 7343

用 Java 实现断点续传 (HTTP)

在网上看J2EE的职位时,不仅需要了解SSH框架及数据库等基本知识,还有不少要求了解 FTP或者HTTP之类的协议。起初,我不知道到底是什么才叫了解FTP或者HTTP协议(现在也没怎么理解这句话)。偶...
  • rainbow702
  • rainbow702
  • 2016年01月14日 11:47
  • 3849

HTTP协议--断点续传

要实现断点续传的功能,通常都需要客户端记录下当前的下载进度,并在需要续传的时候通知服务端本次需要下载的内容片段。 HTTP1.1协议(RFC2616)中定义了断点续传相关的HTTP头 Range和C...
  • xifeijian
  • xifeijian
  • 2013年03月25日 15:41
  • 23668

Java断点续传实现原理很简单

原理解析在开发当中,“断点续传”这种功能很实用和常见,听上去也是比较有“逼格”的感觉。所以通常我们都有兴趣去研究研究这种功能是如何实现的? 以Java来说,网络上也能找到不少关于实现类似功能的资料...
  • ghost_Programmer
  • ghost_Programmer
  • 2016年07月16日 12:59
  • 5486

一分钟实现多文件断点续传——断点续传框架

本人先前的博客有对多文件分段断点续传的功能进行详细的介绍,如果你有兴趣可以先阅读Android多文件断点续传(一)——数据封装以及界面实现。本人在先前的基础上对代码进行了封装,本帖主要介绍如何集成封装...
  • a1533588867
  • a1533588867
  • 2016年11月16日 17:30
  • 1452

TFTP多线程上传和下载

  • 2016年02月04日 10:09
  • 3KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:实现断点续传的两种思路
举报原因:
原因补充:

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