C++ 在linux中,无法获取有关internet连接的通知?

C++ 在linux中,无法获取有关internet连接的通知?,c++,linux,qt,C++,Linux,Qt,在linux中,当网络连接断开时是否可能收到通知 是否有任何操作系统服务需要注册此类通知 或者它有DBus服务吗?如果您使用的是NetworkManager,可以从中获取状态,如果我没记错的话,就是通过DBus完成的 但是要注意,很多Linux机器都不使用NetworkManager,所以您必须处理这个问题。有些机器有不止一个网络连接,等等 进一步的网络连接中断可能不是对您最有用的事情。例如,可能存在网络连接,但路由器已失去其Internet连接,因此您只能连接到本地计算机。或者有时你会看到部分

在linux中,当网络连接断开时是否可能收到通知

是否有任何操作系统服务需要注册此类通知


或者它有DBus服务吗?

如果您使用的是NetworkManager,可以从中获取状态,如果我没记错的话,就是通过DBus完成的

但是要注意,很多Linux机器都不使用NetworkManager,所以您必须处理这个问题。有些机器有不止一个网络连接,等等

进一步的网络连接中断可能不是对您最有用的事情。例如,可能存在网络连接,但路由器已失去其Internet连接,因此您只能连接到本地计算机。或者有时你会看到部分互联网可达性。根据您的需要,您可能需要采取其他方法


最后,有时网络连接会消失并很快恢复,尤其是无线网络。除非IP地址发生更改,否则最好忽略这些临时更改。

如果您使用的是NetworkManager,可以从中获取状态,如果我没记错的话,就是通过dbus完成的

但是要注意,很多Linux机器都不使用NetworkManager,所以您必须处理这个问题。有些机器有不止一个网络连接,等等

进一步的网络连接中断可能不是对您最有用的事情。例如,可能存在网络连接,但路由器已失去其Internet连接,因此您只能连接到本地计算机。或者有时你会看到部分互联网可达性。根据您的需要,您可能需要采取其他方法

最后,有时网络连接会消失并很快恢复,尤其是无线网络。除非IP地址发生变化,否则最好忽略这些瞬时变化。

请参阅linuxquestions.org。基本上,您需要修改内核以获得推送通知。Networkmanager确实有一个DBUS API,但定期轮询是一个更通用的解决方案。

请参阅linuxquestions.org。基本上,您需要修改内核以获得推送通知。Networkmanager确实有一个DBUS API,但定期轮询是一个更通用的解决方案