QNetworkReply是否总是发出finished()?

时间:2015-07-17 01:42:14

标签: qt qnetworkreply

我读完了信号的文件(),它没有说完成的()总是被发出。我读了error()信号:

  

void QNetworkReply :: error(QNetworkReply :: NetworkError code)这个   当回复检测到处理错误时发出信号。该   完成()信号可能会跟随,表明连接   结束了。

     

code参数包含检测到的错误代码。   调用errorString()以获取错误的文本表示   条件。

     

注意:请勿删除连接到此信号的插槽中的对象。   使用deleteLater()。

     

另请参见error()和errorString()。

The finished() signal will probably follow是否意味着在某些情况下,QNetworkReply不会发出finished()?

1 个答案:

答案 0 :(得分:2)

对于QNetworkReply错误信号,我们当然可以预期错误代码并不意味着断开连接。例如:

  

QNetworkReply :: ContentNotFoundError 203远程内容不是   在服务器上找到(类似于HTTP错误404)

在上面的情况下,连接肯定还没有完成。没有发出完成信号。

  

QNetworkReply :: RemoteHostClosedError 2远程服务器关闭了   在收到整个回复之前提前连接   处理

然后连接完成了。并发出完成信号。