2008-04-25

【原创】Java多线程断点下载理论

关键字: java 多线程 断点
希望你转载文章的时候,麻烦保留作者信息。(夏威夷雪人 or 书虫)1、断点下载的基本原理    其实这个是HTTP协议的一部分。在HTTP 1.1,支持断点下载,断点HTTP请求跟一般的HTTP请求基本相同,只有两点不同:  (1)发起请求是HTTP的版本必须是HTTP/1.1(2)在Header有这样一个节点:Range,格式是Range: bytes=起始字节-结束字节    如果HTTP返回的状态码是206,则代表对方支持断点下载,否则就是不支持。另外我用HttpURLConnection的时候,找不到设置HTTP版本的方法,虽然在下载的时候很多网站照样支持,但感觉不是很踏实。希望可以找 ...
  • 00:42
  • 浏览 (253)
  • 评论 (0)
因为公司不允许用fg之类的软件,所以就搞了这个东西来下载东西。程序比较简单,尚有多处地方没有优化。其实这种多线程下载的难点主要是下载任务的分配 下,打个比方,一个文件的某个部分应该给哪个线程下载?为了简单(另一方面是我不愿多想),所以分配算法也比较简单,直接分成一块块,然后每个线程下载一块。如果读者有留意Flashget之类的软件下载时的过程图的话,应该会发现它们的算法比这里的好很多。 这里我用HttpURLConnection下载,你也可以用HttpClient或者自己实现一个Http协议(不过貌似没有必要) 其次,你可能发现我这里效仿迅雷,一个任务生成两个文件,一个是任务描述文 ...
  • 21:16
  • 浏览 (261)
  • 评论 (1)
liangguanhui
搜索本博客
博客分类
最近加入圈子
存档
最新评论