我读完了信号的文件(),它没有说完成的()总是被发出。我读了error()信号:
void QNetworkReply :: error(QNetworkReply :: NetworkError code)这个 当回复检测到处理错误时发出信号。该 完成()信号可能会跟随,表明连接 结束了。
code参数包含检测到的错误代码。 调用errorString()以获取错误的文本表示 条件。
注意:请勿删除连接到此信号的插槽中的对象。 使用deleteLater()。
另请参见error()和errorString()。
行The finished() signal will probably follow
是否意味着在某些情况下,QNetworkReply不会发出finished()?
答案 0 :(得分:2)
对于QNetworkReply错误信号,我们当然可以预期错误代码并不意味着断开连接。例如:
QNetworkReply :: ContentNotFoundError 203远程内容不是 在服务器上找到(类似于HTTP错误404)
在上面的情况下,连接肯定还没有完成。没有发出完成信号。
QNetworkReply :: RemoteHostClosedError 2远程服务器关闭了 在收到整个回复之前提前连接 处理
然后连接完成了。并发出完成信号。