我想用c ++(qt4)编写我自己的下载管理器,但我不知道如此
如果您知道任何好的教程或链接请,请建议我从哪里开始发布。
我还想实现暂停/恢复和多个下载功能。
我已经知道有很长的下载管理器列表(fdm,idm,wget,flashgot,orbit等),但我仍然想创建自己的下载管理器来理解它们背后的工作。
- 提前谢谢。
答案 0 :(得分:6)
如果您正在尝试制作生产成绩,我会推荐URDL或Boost.Asio。
但是如果你想要玩得开心,那么考虑Byte Ranges和多线程进行异步处理。仍然asio也是最好的选择。
答案 1 :(得分:4)
Qt类 - QNetworkAccessManager,QNetworkRequest和QNetworkReply类将帮助您编写下载管理器。
QNetworkAcessManager :: get()用于下载
- 干杯
答案 2 :(得分:2)
答案 3 :(得分:2)
Qt 是一个相当稳定的项目,并且有一个很棒的文档,而不是 Boost ,所以我为Qt Projects做了一个小标题,像专业人士一样处理下载,你应该试试吧。
#include <QCoreApplication>
#include "QEasyDownloader/QEasyDownloader.hpp"
int main(int argc, char **argv)
{
QCoreApplication app(argc, argv);
QEasyDownloader Downloader;
/*
* By Default Debug is false , make it true to print the download progress and
* other stuff!
*/
Downloader.Debug(true);
QObject::connect(&Downloader, &QEasyDownloader::DownloadFinished,
[&](QUrl Url, QString file) {
qDebug() << "Downloaded :: " << file << " :: FROM :: " << Url;
app.quit();
});
/*
* Just Download!
*/
Downloader.Download("http://www.divineimagination.com/gallery/movie/roving_web.wmv");
return app.exec();
}
```
答案 4 :(得分:0)