proxyee down源码分析

proxyee down下载速度不错, 底层使用netty+多线程,最近在看netty网络方面的应用,正好这是个案例

源代码地址 https://github.com/proxyee-down-org/proxyee-down

基本原理

前端选择下载url 及文件保存路径
后端尝试使用http多段下载(range)
如果支持多段下载,则开启多线程平分此文件,每个线程负责部分range范围,并最终写入到同一个文件

代码分析

org.pdown.core.boot.HttpDownBootstrap#start(boolean)  




1. 构造多段下载起始、结束位置
org.pdown.core.boot.HttpDownBootstrap#buildChunkInfoList

2. for循环发起多段连接
org.pdown.core.boot.HttpDownBootstrap#connect

3.每个连接一个响应回调对象 :写入文件
org.pdown.core.boot.HttpDownBootstrap.HttpDownInitializer pipeline

(分析下多线程写同一个文件的过程fileChannel)
posted @ 2018-12-30 20:38  funny_coding  阅读(632)  评论(0编辑  收藏  举报
build beautiful things, share happiness