哪个 c/c 库可用于处理 linux 的 wifi 连接?

新手上路,请多包涵

我想实现应该处理以下内容的 WiFi 管理器程序。

  • 关于 wi-fi 接入点的通知已经到来或消失
  • 提供可用 wifi 接入点的信息
  • 与给定的 Wi-Fi 接入点连接/断开连接

哪个是推荐的用于 Linux 的 C/C++ WiFi 库来实现这一目标?

原文由 Ashish 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 529
1 个回答

在 Fedora 上(至少),与 NetworkManager 交互的首选方式是通过 DBus。

虽然无线工具和类似工具可以工作——甚至直接内核调用,如果必须的话——有几个问题:

  • 您可能需要超级用户权限
  • NetworkManager 可能会惊恐发作并与您发生争执,除非您停止其服务
  • 用户的正常网络控制(例如桌面托盘图标)几乎可以肯定配置为使用 NetworkManager。

您可以为您提到的所有任务、WiFi 以及任意其他类型的网络接口发送和接收 DBus 消息。 API 在此处发布,适用于 0.8 版本

对于较新的操作系统, API 显然发生了变化,并附有迁移指南

他们的 wiki 应该很有帮助。

我知道 Fedora 和 Ubuntu 默认都使用 NetworkManager;我相信许多其他系统也是如此,但没有详尽的清单。

当然,如果您使用的是嵌入式系统、自定义分发或其他东西,那么您的里程可能会有所不同。

原文由 BRPocock 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进