• 6339阅读
  • 5回复

用QHttp写过程序的人进 [复制链接]

上一主题 下一主题
离线浪迹江湖
 

只看楼主 正序阅读 楼主  发表于: 2010-05-13
— 本帖被 XChinux 从 General Qt Programming 移动到本区(2011-01-02) —
我用QHttp写了一个下载工具,90%的情况下载文件时没有问题的,但好几次在下载过程中却卡死了,等再多时间也没有用卡死在0B/s,
网络是没问题的,用wget从相同的地址也能得到数据,我不知道是不是程序的问题,下载部分的代码如下:

                     rwLock ->lockForWrite();
    file = new QFile(path);
    if (!file->open(QIODevice::WriteOnly))
    {
        errorReason=QString("无法以只写方式打开文件 ")+path;
                                 delete file;
                                  file = 0;
        rwLock ->unlock();
                                 return false;
        }

        http->setHost(url.host(), url.port() != -1 ? url.port() : 80);
/*        if (!url.userName().isEmpty())
    {
                     http->setUser(url.userName(), url.password());
    }
*/    
    
    httpGetId = http->get(url.path(), file);

有人遇到过相同的问题吗?
离线adria

只看该作者 5楼 发表于: 2011-09-24
不知是否和GET有上传/下载大小限制有关
离线paranoid
只看该作者 4楼 发表于: 2010-05-17
大概qt会自己open那个file吧,反正我没有open是可以的。
还有你可以换一种方式,不用get,使用request试试
离线浪迹江湖

只看该作者 3楼 发表于: 2010-05-17
引用第2楼paranoid于2010-05-14 15:53发表的  :
看了一眼我以前的代码,不同之处在于就是我接了两个信号responseHeaderReceived,done,还有我的file new出来直接使用,不用open.


这两个信号我也接了,我觉得既然往file里写数据,file应该是open的。不知道这种现象是不是qt的bug啊
离线paranoid
只看该作者 2楼 发表于: 2010-05-14
看了一眼我以前的代码,不同之处在于就是我接了两个信号responseHeaderReceived,done,还有我的file new出来直接使用,不用open.
离线浪迹江湖

只看该作者 1楼 发表于: 2010-05-14
up!
快速回复
限100 字节
 
上一个 下一个