如何在基于c++/QT的安装程序中检测互联网断开连接

How to detect internet disconnectivity in c++/QT based installer

本文关键字:程序 安装 检测 互联网 连接 断开 QT c++      更新时间:2023-10-16

我们正在开发与Dropbox非常相似的win-mac文件同步安装程序。安装程序是用c++和QT构建的,我们有一个用例,如果互联网断开(拔掉网线或没有连接到任何wifi),所以基本上无法访问web,在这种情况下,我们需要使安装程序离线。

我尝试了一些方法,比如连续轮询我们的web服务器。如果我们无法到达,那么我们检测为互联网连接中断。由于某些原因,我们希望有一个干净的本机实现,它将寻找机器网络连接。

我甚至尝试了http://msdn.microsoft.com/en-us/library/aa965303%28VS.85%29.aspx为windows,但这是失败的wifi情况下,即使我们不连接到wifi,这个例子是说"网络连接"。

有谁能提出其他的选择吗?还邀请平台特定的解决方案

您可能想要查看INetworkManager::GetConnectivity,并检查响应中的NLM_CONNECTIVITY_IPV4_INTERNETNLM_CONNECTIVITY_IPV6_INTERNET