如何在基于 c++/QT 的安装程序中检测互联网断开连接
Posted
技术标签:
【中文标题】如何在基于 c++/QT 的安装程序中检测互联网断开连接【英文标题】:How to detect internet disconnectivity in c++/QT based installer 【发布时间】:2013-05-01 09:46:39 【问题描述】:我们正在开发与 Dropbox 非常相似的 win-mac 文件同步安装程序。安装程序是用 c++ 和 QT 构建的。我们有一个用例,如果互联网断开(拔掉网线(或)未连接到任何 wifi),则基本上无法访问网络,在这种情况下,我们需要使安装程序离线。
我尝试了几种方法,例如不断地轮询我们的网络服务器。如果我们无法到达,那么我们将检测为互联网断开连接。由于某些原因,我们希望有一个干净的本地实现,它将寻找机器网络连接。
我什至在 windows 上尝试过http://msdn.microsoft.com/en-us/library/aa965303%28VS.85%29.aspx,但在 wifi 情况下这会失败,即使我们没有连接到 wifi,这个例子是说“网络已连接”。
任何人都可以提出其他替代方案。还邀请了特定于平台的解决方案。
【问题讨论】:
【参考方案1】:您可能想查看INetworkManager::GetConnectivity
,并在响应中检查NLM_CONNECTIVITY_IPV4_INTERNET
或NLM_CONNECTIVITY_IPV6_INTERNET
。
【讨论】:
但是我有一个疑问,它是否与 INetworkListManager::get_IsConnectedToInternet 工作相同,因为这更容易检查互联网连接。对 MAC OSX 有什么建议吗?以上是关于如何在基于 c++/QT 的安装程序中检测互联网断开连接的主要内容,如果未能解决你的问题,请参考以下文章