在 linux 应用程序中观察网络更改事件

Observing network change event in linux application

提问人:Vipul Gupta 提问时间:11/10/2023 更新时间:11/10/2023 访问量:9

问:

我有一个应用程序,如果发生任何网络更改,我希望收到通知。我找到了一堆解决方案,比如

  • 使用 NetworkManagersystemd-network 服务(我不喜欢,因为我不知道这些服务是否在用户系统上安装和运行)
  • 使用 Netlink 套接字 :这里所有的网络变更事件信息都排在 netlink 消息队列中,我们应用程序中的处理程序将从该队列中获取数据并对其进行处理。我们必须使用 while(1) 循环,它定期处理来自此队列的数据。(此方法需要不断轮询队列中的任何更新)

Windows 和 Mac 等其他平台具有观察者 API,我们可以在其中订阅网络更改事件,并且每当此事件发生时,我们的应用程序都会在处理程序中收到通知。我正在寻找 linux 中是否有类似的东西?

事件 事件处理 Netlink NetworkManager

评论


答: 暂无答案