【发布时间】:2022-02-12 22:41:35
【问题描述】:
我想实现 WiFi 管理器程序,它应该处理以下内容。
- 关于 wi-fi 接入点的通知来了还是去了
- 提供可用 wifi 接入点的信息
- 与给定的 wi-fi 接入点连接/断开连接
为了实现这一点,推荐用于 Linux 的 C/C++ WiFi 库是什么?
【问题讨论】:
我想实现 WiFi 管理器程序,它应该处理以下内容。
为了实现这一点,推荐用于 Linux 的 C/C++ WiFi 库是什么?
【问题讨论】:
在 Fedora 上(至少),与 NetworkManager 交互的首选方式是通过 DBus。
虽然无线工具和类似工具可以工作——甚至直接内核调用,如果必须的话——有几个问题:
您可以为您提到的所有任务、WiFi 以及任意其他类型的网络接口发送和接收 DBus 消息。 API 已发布here, for version 0.8。
对于较新的操作系统,显然有changes in the API, with a migration guide。
他们的wiki 应该很有帮助。
我知道 Fedora 和 Ubuntu 默认都使用 NetworkManager;我相信许多其他系统也是如此,但没有详尽的列表。
当然,如果您使用的是嵌入式系统、自定义发行版或其他东西,那么您的里程可能会有所不同。
【讨论】:
【讨论】:
我建议直接使用NetworkManager Library。
您可以使用低级 D-Bus 库或 libnm-glib 库,这使通信更容易:example add connection glib
更多信息,您可以查看命令行客户端nmcli的代码。
【讨论】: