• 8098阅读
  • 7回复

QNetworkAccessManager使用中造成程序死机的问题 [复制链接]

上一主题 下一主题
离线梦魇缘
 
只看楼主 倒序阅读 楼主  发表于: 2012-07-19
各位大虾们,求助一个紧急问题
我是在PC端程序中使用QNetworkAccessManager实现HTTP的数据请求,发送请求的过程中(数据请求还没有完成),断网比较容易高概率出现程序死机。xp上不会出现,在win7(VISTA)系统上出现的概率很高,不知道是QT本身的Bug还是我的代码问题,我实现的代码如下:

////////拨上号时
m_pHttp = new QNetworkAccessManager();
connect(m_pHttp, SIGNAL(finished(QNetworkReply*)), this, SLOT(onHttpFinished(QNetworkReply*)));
QUrl url(strHtpPath);
QNetworkRequest request = QNetworkRequest(url);
m_request = request;
m_pHttp->get(request);



///接受数据完成时
void onHttpFinished(QNetworkReply* reply)
{
if(reply->error() == QNetworkReply::NoError)
{
QByteArray byteAllRead = reply->readAll();
reply->close();
reply->deleteLater();
}


////断网时
if(m_pHttp != NULL)
{
m_pHttp->setNetworkAccessible(QNetworkAccessManager::NotAccessible);
m_pHttp->deleteResource(m_request);
disconnect(m_pHttp, SIGNAL(finished(QNetworkReply*)), this, SLOT(onHttpFinished(QNetworkReply*)));
m_pHttp->deleteLater();
m_pHttp = NULL;
}

我是直接在GUI的主线程中做的,而且我没有开辟新的线程,我测试了一下,发现QWebView在win7(Vista)系统上,发送请求的过称中,断网也会出现程序死机。大家之前遇到过类似的问题吗?我感觉像是QT本身的BUg,我使用的是QT4.7的版本,大家帮忙分析一下,谢谢!!!
离线梦魇缘
只看该作者 1楼 发表于: 2012-07-19
离线梦魇缘
只看该作者 2楼 发表于: 2012-07-19
没有人遇到类似的问题吗?
离线梦魇缘
只看该作者 3楼 发表于: 2012-08-01
没有人遇到QT类似的问题吗?
离线梦魇缘
只看该作者 4楼 发表于: 2012-08-02
离线梦魇缘
只看该作者 5楼 发表于: 2012-08-17
没人遇到类似的问题吗,个人感觉是QT的Bug!!!
离线梦魇缘
只看该作者 6楼 发表于: 2012-09-26
离线梦魇缘
只看该作者 7楼 发表于: 2012-12-10
快速回复
限100 字节
 
上一个 下一个