很长一段时间以来,我一直在尝试使用Qt获取系统网络状态。我有一个项目,使用Linux系统中的信号确定网络状态。
我尝试了QNetworkConfiguration
,QNetworkSession
,QNetworkConfigurationManager
。但是,所有这些类仅在网络电缆插入或拔出或网络适配器关闭时检测网络连接状态。如果我们断开像“以太网”这样的特定网络接口,它仍然显示状态为“已连接”或“在线”。是否有任何解决方案,如使用dbus或使用系统信号来获取当前网络访问的网络状态。
我目前的解决方案是定期ping,但需要更多资源,并不是一个好的解决方案。