Java网络编程从入门到精通(24):实现HTTP断点续传下载工具[Java编程]
本文“Java网络编程从入门到精通(24):实现HTTP断点续传下载工具[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
在前面的文章曾谈论了HTTP消息头的三个和断点继传有关的字段.一个是恳求消息的字段Range,另两个是呼应消息字段Accept-Ranges和Content-Range.此中Accept-Ranges用来断定Web服务器能否支持断点继传功效.在这里为了演示若何实现断点继传功效,假定Web服务器支持这个功效;因此,我们只利用Range和Content-Range来完成一个断点继传工具的开辟.
l 要实现一个什么样的断点续传工具?
这个断点续工具是一个单线程的下载工具.它通过参数传入一个文本文件.这个文件的格局以下:
http://www.ishare.cc/d/1174254-2/106.jpg d:ok1.jpg 8192
http://www.ishare.cc/d/1174292-2/156.jpg d:ok2.jpg 12345
http://www.ishare.cc/d/1174277-2/147.jpg d:ok3.jpg 3456
这个文本文件的每一行是一个下载项,这个下载项分为三部份:
要下载的Web资源的URL.
要保存的本地文件名.
下载的缓冲区大小(单位是字节).
利用至少一个空格来脱离这三部份.这个下载工具一一下载这些文件,在这些文件全部下载完后程序退出.
l 断点续传的工作原理
“断点续传”顾名思义,就是一个文件下载了一部份后,由于服务器或客户端的缘由,当前的网络衔接中止了.在中止网络衔接后,用户还可以再次成立网络衔接来持续下载这个文件还没有下完的部份.
要想实现单线程断点续传,必须在客户断保存两个数据.
1.已经下载的字节数.
2.下载文件的URL.
一但重新成立网络衔接后,便可以操纵这两个数据接着未下载完的文件持续下载.在本下载工具中第一种数据就是文件已经下载的字节数,而第二个数据在上述的下载文件中保存.
在持续下载时检测已经下载的字节数,假定已经下载了3000个字节,那么HTTP恳求消息头的Range字段被设为以下情势:
Range: bytes=3000-
HTTP呼应消息头的Content-Range字段被设为以下的情势:
Content-Range: bytes 3000-10000/10001
以上是“Java网络编程从入门到精通(24):实现HTTP断点续传下载工具[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |