我希望实现一个WiFi管理程序,应该处理以下内容: 当WiFi接入点出现或消失时发出通知 提供可用WiFi接入点的信息 连接/断开给定的WiFi接入点 哪个是在Linux上推荐使用的C/C++ WiFi库以实现这一目标?
在Fedora(至少)上,与NetworkManager交互的首选方式是通过DBus。虽然wireless-tools等工具可以使用 - 即使必须进行直接内核调用 - 但存在一些问题:- 您可能需要超级用户特权 - NetworkManager可能会发生恐慌并与您发生冲突,除非您停止其服务 - 用户的常规网络控件(例如桌面托盘图标)几乎肯定配置为使用NetworkManager。您可以发送和接收DBus消息以执行您提到的所有任务,包括WiFi以及任意其他类型的网络接口。该API已发布,版本为0.8,请参见此处。对于更新的操作系统,API中显然有更改,附有迁移指南。他们的维基应该非常有帮助。我知道Fedora和Ubuntu都默认使用NetworkManager;我相信许多其他系统也是如此,但没有详尽的列表。当然,如果您使用的是嵌入式系统、自定义分发或其他内容,则可能会有所不同。