多线程断点续传文件下载原理
来源:互联网 发布:淘宝神笔怎么关联 编辑:程序博客网 时间:2024/05/16 05:59
多线程传输实现
实现原理:
将源文件按长度为分为N块文件,然后开辟N个线程,每个线程传输一块,最后合并所有线线程文件.比如一个文件500M我们按长度可以分5个线程传输.第一线程从0-100M,第二线程从100M-200M......最后合并5个线程文件.
实现流程:
1.客户端向服务端请求文件信息(名称,长度)
2.客户端跟据文件长度开辟N个线程连接服务端
3.服务端开辟新的线程与客户端通信并传输文件
4.客户端将每线程数据保存到一个文件
5.合并所有线程文件
断点续传:
所谓的断点续传就是指:文件在传输过程式中被中断后,在重新传输时,可以从上次的断点处开始传输,这样就可
节省时间,和其它资源.
实现关键:
在这里有两个关键点
其一是检测本地已经下载的文件长度和断点值;
其二是在服务端调整文件指针到断点处
实现方法:
我们用一个简单的方法来实现断点续传的功能.在传输文件的时候创建一个临时文件用来存放文件的断点位置
在每次发送接受文件时,先检查有没有临时文件,如果有的话就从临时文件中读取断点值,并把文件指针移动到
断点位置开始传输,这样便可以做到断点续传了
实现流程;
首次传输其流程如下
1.服务端向客户端传递文件名称和文件长度
2.跟据文件长度计算文件块数(文件分块传输请参照第二篇文章)
3.客户端将传输的块数写入临时文件(做为断点值)
4.若文件传输成功则删除临时文件
首次传输失败后将按以下流程进行
1.客户端从临时文件读取断点值并发送给服务端
2.服务端与客户端将文件指针移至断点处
3.从断点处传输文件
- 多线程断点续传文件下载原理
- java SE 文件多线程下载,断点续传 原理
- http协议 文件下载原理及多线程断点续传
- Android 文件多线程断点续传下载
- java 多线程文件下载,断点续传
- php 文件下载 断点续传 原理
- Android实现网络多线程断点续传下载原理
- lftp 多线程断点续传 下载文件 wget
- 《FTP、HTTP 多线程断点续传下载文件》 FlashGet
- Android多线程断点续传下载文件类设计
- Android多线程断点续传下载文件类设计
- Aandroid 多线程断点续传同时下载多个大文件
- C#实现http多线程断点续传下载文件
- android 多文件多线程断点续传下载
- http断点续传与文件下载原理解析
- Http 206 文件断点续传下载原理
- Http 206 文件断点续传下载原理
- Http 206 文件断点续传下载原理
- INI文件编程,WINAPI函数WritePrivateProfileString,GetPrivateProfileString
- 什么是Socket?
- 比丰厚薪水更重要的10件事
- java----Java面向对象
- [Django1.5]TemplateSyntaxError: 'comments' is not a valid tag library错误
- 多线程断点续传文件下载原理
- Merge change requests
- completion
- 重新组织数据之三 :Change Value to Reference(将实值对象改为引用对象)
- SAP表格维护生成器生成数据表维护视图程序
- android 中ActivityUI装态保存
- 图片转PDF的实现方法
- how to see sap notes
- 字符集(Charset)和字符编码(Encoding)