【问题标题】:How to recover QNetworkAccessManager如何恢复 QNetworkAccessManager
【发布时间】:2025-12-04 20:15:02
【问题描述】:

我有一个应用程序并拔下我的网线:QNetworkAccessManager 无法访问。现在我插入网络电缆。但是QNetworkAccessManager 仍然是Not accessible

在里面可以这样设置:

m_accessManager->setNetworkAccessible(QNetworkAccessManager::Accessible);

但这并没有真正的帮助。来自该 QAM 的请求总是失败(实际上我从未收到响应)。

我怎样才能恢复这样的 QAM?

--

相关:

  1. Method to reset the QNetworkAccessManager backend
  2. Alternative for QNetworkAccessManager

【问题讨论】:

  • QNetworkAccessManager 的实现在不同平台上非常不同。对于 Linux 上的类似情况,我通常使用 QScopedPointer<QNetworkAccessManager> m_nm 并使用 m_nm.reset(new QNetworkAccessManager)
  • 我同时意识到NetworkAccessibility / UnknownAccessibility 在这种情况下需要一段时间才能变成Accessible。我收到NetworkAccessibilityAccessible 的信号,但getNetworkAccessiblity 仍然返回未知。

标签: qt qnetworkaccessmanager


【解决方案1】:

对我而言,帮助始终是重新创建 QNetworkAccessManager 的实例。

【讨论】: