找回密码
 立即注册
收起左侧

http下载问题 求解

5
回复
6513
查看
[复制链接]
累计签到:24 天
连续签到:1 天
来源: 2017-3-28 15:26:12 显示全部楼层 |阅读模式
10Qter豆
程序循环获取url, 并进行文件下载,循环出来的url 没有问题,是成功的 ,而且下载功能没有问题,但是最后我将下载功能放到循环中却失败,放到循环外面却成功,求解?
例如:
for(int i = 0; i < 10; i++)
{
    url = text(); //url的获取,每一次循环都将生成不同且对的路径
    qDebug() << url; //打印出路径
}
downloade(url); //即 将i = 9 的时候 生成的url路径,并下载,成功
----------------------------------------------------------------------------------------------------------------
但是:
for(int i = 0; i < 10; i++)
{
    url = text(); //url的获取,每一次循环都将生成不同且对的路径
    qDebug() << url; //打印出路径
    downloade(url); //即 将每次循环生成的url路径,并下载,失败,十个文件都下载失败
}


回复

使用道具 举报

累计签到:955 天
连续签到:1 天
2017-3-28 15:32:24 显示全部楼层
从描述判断应该是你循环调用下载函数太快了。同时下载多个文件应采用多线程,要不就只能一个下完再下另一个。
回复

使用道具 举报

累计签到:24 天
连续签到:1 天
2017-3-28 15:36:26 显示全部楼层
wdmxtk002 发表于 2017-3-28 15:32
从描述判断应该是你循环调用下载函数太快了。同时下载多个文件应采用多线程,要不就只能一个下完再下另一个 ...

然后我在下载函数后面紧接着加上延时函数,延时大概有好几秒,而且文件都大概几百k一个,我就是想一个下完,然后接下一个下载
回复

使用道具 举报

累计签到:24 天
连续签到:1 天
2017-3-28 15:37:52 显示全部楼层
tequreio 发表于 2017-3-28 15:36
然后我在下载函数后面紧接着加上延时函数,延时大概有好几秒,而且文件都大概几百k一个,我就是想一个下 ...

另外我还想问一下如何多线程下载多文件,谢谢
回复

使用道具 举报

尚未签到

2017-3-28 20:36:55 显示全部楼层
QNetworkAccessManager默认只有5个线程下载
回复

使用道具 举报

累计签到:1 天
连续签到:1 天
2017-3-31 04:41:43 显示全部楼层
Joey_Chan 发表于 2017-3-28 20:36
QNetworkAccessManager默认只有5个线程下载

QNetworkAccessManager默认只有5个线程下载, 你是怎么知道的?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

公告
可以关注我们的微信公众号yafeilinux_friends获取最新动态,或者加入QQ会员群进行交流:190741849、186601429(已满) 我知道了