仿迅雷实现下载工具,支持断点续传和多线程下载以及简单界面展示

本文介绍了一款仿迅雷的下载工具,支持断点续传和多线程下载,使用ncurses库构建简单界面。通过HTTP协议,利用Range字段实现断点续传功能,通过线程池进行多任务下载。详细介绍了下载原理、单线程断点续传实现及界面和多线程的设计。代码已开源在GitHub上。
摘要由CSDN通过智能技术生成

这篇博客介绍一下在公司实习时选做的一个项目,虽然实习期间没有全部完成,但觉得这个项目做好的话挺有意思的,就在之后几天赶着完善了这个项目。 博客最后给出代码地址

这个项目是仿照迅雷,实现一个下载工具。
(开发平台: Ubuntu 16)

功能:能由一个基于HTTP协议的网络资源链接,把该链接对应的资源下载到本地,并且显示下载时的状态(进度条、下载百分比、已下载时间、当前下载速度、自己又在后面加了一个下载的文件名)。要求就是该工具要能支持多线程下载(即同时开启多个下载任务)和断点续传功能(即程序异常退出之后,再次重启时能继续之前未完成的下载任务)以及简单的界面。

下面这幅图是最终的下载界面:
/* * 解释下:
最上面一栏是工具的头部,”Welcome to Thunder” 会在最上面一栏从左到右循环”流动”;
中间一栏有一个”input url > ” 的提示符,需要在这一栏输入要下载资源的链接,回车;
最下面的是工具的主界面,显示现在下载的状况,现在总共有四个下载任务,从左到右依次是 进度条、下载百分比、当前下载速度、已下载时间、下载的文件名。
*/
这里写图片描述

下面按照 【下载原理、单线程断点续传实现原理、界面和多线程】


1、下载原理:

举一个例子来说ÿ

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值