Linux下基於c++開發的多線程下載器源碼分享

Linux下基於c++開發的多線程下載器


簡單介紹

本項目爲一款基於c++開發的linux下的http下載器,支持斷點下載、多線程下載。

Githup地址

MyDownload
期待您的star&fork。

主要思想

利用http協議的range頭配置來實現多線程並發現在以及斷點下載,在下載期間該程序會在下載目錄下生成一個保存狀態的臨時文件,等下載完成之後會自動刪除該文件。

使用說明

參數說明:
-u 設置目標URL
-d 設置保存文件的具體地址
-b 後臺下載
-h 查看參數詳情
-t 設置線程數量,最多不能超過20

示例:

#開十個線程下載node安裝包,保存到 /download/node.tar.gz 
./http_down_main -u https://nodejs.org/dist/v4.2.3/node-v4.2.3-linux-x64.tar.gz -d ../download/node.tar.gz -t 10

快速上手

1.安裝gcc/g++

#centos下
sudo yum update
sudo yum install gcc
sudo yum install gcc-c++ libstdc++-devel
g++ --version #確認是否安裝完成

#ubuntu下
sudo apt-get install build-essential
g++ --version

2.下載壓縮包或git clone該項目並解壓,在項目目錄下運行以下指令

#centos下
sudo yum install git
git --version
#ubuntu下
sudo apt-get install git
git --version

#然後centos和ubuntu都執行以下指令
git clone https://github.com/harry502/MyDownload.git
cd MyDownload/src
make
cd ..
./bin/http_down_main -u https://nodejs.org/dist/v4.2.3/node-v4.2.3-linux-x64.tar.gz -d ./node.tar.gz -t 10

恭喜您,成功下載了node安裝包!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章