哪个c/c++库可以用来处理linux的wifi连接
which c/c++ library can be used for handling wifi connections for linux?
我想实现一个WiFi管理程序,该程序应该处理以下内容。
- wi-fi接入点通知来了还是走了
- 提供可用wifi接入点信息
- 连接/断开给定的wi-fi接入点
哪个是推荐的C/c++ WiFi库为Linux实现这一点?
至少在Fedora上,与NetworkManager交互的首选方式是通过DBus。
虽然无线工具和类似的工具可以工作-甚至直接内核调用,如果你必须的话-有几个问题:
- 你可能需要超级用户权限
- NetworkManager可能会有恐慌发作,并与你打架,除非你停止它的服务
- 用户的正常网络控件(例如桌面托盘图标)几乎肯定被配置为使用NetworkManager。
您可以为您提到的所有任务发送和接收DBus消息,用于WiFi以及任意其他类型的网络接口。API在这里发布,版本为0.8。
对于较新的操作系统,API中有明显的变化,并附有迁移指南。
他们的wiki应该很有帮助。
我知道Fedora和Ubuntu默认使用NetworkManager;我相信许多其他系统也有,但没有一个详尽的列表。
当然,如果您使用的是嵌入式系统、自定义发行版或其他东西,那么您的里程可能会有所不同。
就是wireless-tools
我建议直接使用NetworkManager库。
您可以使用底层的D-Bus库或libm -glib库,这使得通信更容易:
更多信息,可以查看命令行客户端nmcli的代码。
相关文章:
- 如何处理linux终端中带有负号(-)的C++中的命令行参数
- Linux 包管理器如何处理 C++20 个模块?
- Linux 中的信号处理程序使用 sigaction (C++)
- 跨平台套接字发送,Linux 上的缓冲区常量无效* Windows上的常量字符*,最佳处理方式
- 将托管事件处理程序传递给 Linux 中的非托管代码
- 当多个进程尝试同时替换同一文件时,Linux 如何处理这种情况?
- 如何在 c++ linux 中创建事件处理程序
- 如何在 Linux 用户空间中处理类似 GPIO 中断的处理
- Linux x64堆栈在信号处理程序内部展开,以修改返回地址
- 如何解决 Linux 计时器信号处理程序
- 如何用单个信号处理程序解决这个多linux定时器的问题
- 访问linux的OpenCV-2.4.3的OPENCV图像处理库
- 在Linux和Windows C 上处理的低级文件操作
- Linux上的静态Qt5构建:部署时如何处理字体
- OSX vs Linux:如何处理未签名的长和uint64_t
- 处理 Linux 上的库依赖关系
- 与Microsoft相比,如何处理Linux CRunTime库
- 既然Qt3D说支持Linux,我该如何处理Linux上缺少window.h的问题
- 哪个c/c++库可以用来处理linux的wifi连接
- c++处理Linux多线程程序中的按键操作