使用网络链接进行的网络变化检测无法正常工作

使用网络链接进行的网络变化检测无法正常工作

我有一个 netlink 套接字程序,用于检测网络连接是否断开或何时恢复。我正在使用 cpp 程序链接,但是结果不太正确。

当我使用命令关闭网络连接时:sudo ifconfig <interfaceID> down,我在 RTM_NEWLINK 中得到了正确的输出,并且条件“ if(ifi->ifi_flags & IFF_RUNNING)”变为假。

但是,当我使用命令打开网络连接时sudo ifconfig <interfaceID> up,相同的情况会触发两次,其中一次检测到网络关闭,然后检测到网络开启。每次网络连接开启时都会发生这种情况,并且每次触发两次时,首先检测到网络关闭,然后检测到网络开启。相反,它应该只在一次触发中检测到网络开启。

有什么问题我没能弄清楚吗?

相关内容