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

C++ 哪个c/c++;库可用于处理linux的wifi连接?,c++,c,linux,wifi,C++,C,Linux,Wifi,我想实施WiFi管理程序,该程序应处理以下事项 wi-fi接入点的通知已发出或已发出 提供可用wifi接入点的信息 连接/断开与给定wi-fi接入点的连接 建议Linux使用哪种C/C++WiFi库来实现这一点?在Fedora上(至少),与NetworkManager交互的首选方式是通过DBus 虽然无线工具和类似工具可以工作,即使是直接的内核调用,如果必须的话,也会有一些问题: 您可能需要超级用户权限 除非您停止NetworkManager的服务,否则NetworkManager可能会恐

我想实施WiFi管理程序,该程序应处理以下事项

  • wi-fi接入点的通知已发出或已发出
  • 提供可用wifi接入点的信息
  • 连接/断开与给定wi-fi接入点的连接
建议Linux使用哪种C/C++WiFi库来实现这一点?

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

虽然无线工具和类似工具可以工作,即使是直接的内核调用,如果必须的话,也会有一些问题:

  • 您可能需要超级用户权限
  • 除非您停止NetworkManager的服务,否则NetworkManager可能会恐慌发作并与您发生冲突
  • 用户的正常网络控件(例如桌面托盘图标)几乎肯定配置为使用NetworkManager
您可以为您提到的所有任务发送和接收DBus消息,包括WiFi以及任意其他类型的网络接口。API已发布

对于较新的操作系统,显然有很多

他们的建议应该很有帮助

我知道Fedora和Ubuntu默认都使用NetworkManager;我相信许多其他系统也有,但没有详尽的列表


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

我建议您直接使用

您可以使用低级D-Bus库或libnm glib库,这使通信更容易:


有关更多信息,您可以查看命令行客户端的代码nmcli

此答案不适用于需要WiFi控制但负担不起DBU基础设施价格且不使用网络管理器的低功耗嵌入式项目。是的,但这不是问题中指定的。