如何获取 QNetworkAccessManager 连接状态?

Posted

技术标签:

【中文标题】如何获取 QNetworkAccessManager 连接状态?【英文标题】:How to obtain QNetworkAccessManager's connection states? 【发布时间】:2011-05-13 06:03:26 【问题描述】:

我需要查看 QNetworkAccessManager 的不同连接状态。如何做到这一点,或者使用 QT 是否有可能?

QHttp中的例子,有枚举状态: QHttp enum state

QTCPSocket,有SocketState: QAbstractSocket state

对我来说最重要的是知道 manager 何时连接到主机以及在 manager 开始上传数据之前。

【问题讨论】:

【参考方案1】:

就像Phil 提到的那样,QNetworkAccessManager 已经抽象了大部分方法。要获取连接状态,请在使用 QNetworkAccessManager 之前使用 QNetworkSession。

要获取当前会话的状态,请使用此状态函数 (http://doc.qt.nokia.com/qtmobility/qnetworksession.html#State-enum)

阅读此处的完整文档将对您有很大帮助。 http://doc.qt.nokia.com/qtmobility/qnetworksession.html

【讨论】:

谢谢你们。 Qnetworksession 是我一直在寻找的。对不起,我不能给你代表。因为我没有足够的代表。【参考方案2】:

过去我发布并连接到finished 信号。这包含让您知道传输是否有错误的回复。如果您想检测何时下线,还有networkAccessibleChanged 信号。

QNetworkAccessManagerQHttpQTCPSocket 更高级别,因此它们已经抽象出套接字连接状态。

【讨论】:

以上是关于如何获取 QNetworkAccessManager 连接状态?的主要内容,如果未能解决你的问题,请参考以下文章

JS如何获取OBJECT的值

js如何获取某一个元素,如果获取不到就继续获取,直到获取到后停止获取?

Groovy如何获取访问地址

js如何获取时间

js如何获取地址栏加密参数

webbrowser如何获取cookie中的sessionid