断点续传

转自 http://blog.csdn.net/xiaobai1593/article/details/7308394

所谓的断点续传就是指:文件在传输过程式中被中断后,在重新传输时,可以从上次的断点处开始传输,这样就可节省时间,和其它资源。

实现关键在这里有两个关键点

其一是检测本地已经下载的文件长度和断点值;

其二是在服务端调整文件指针到断点处

实现方法:

我们用一个简单的方法来实现断点续传的功能:在传输文件的时候创建一个临时文件用来存放文件的断点位置

在每次发送文件时,先检查有没有临时文件;如果有的话,就从临时文件中读取断点值,并把文件指针移动到断点位置开始传输,这样便可以做到断点续传了。

实现流程:

首次传输其流程如下:

1. 服务端向客户端传递文件名称和文件长度;

2. 根据文件长度计算文件块数(文件分块传输请参照第二篇文章);

3. 客户端将传输的块数写入临时文件(做为断点值);

4. 若文件传输成功则删除临时文件;

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

1. 客户端从临时文件读取断点值并发送给服务端

2. 服务端与客户端将文件指针移至断点处;

3. 从断点处传输文件;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值