【问题标题】:Connect to WIFI from C program [closed]从 C 程序连接到 WIFI [关闭]
【发布时间】:2019-08-21 07:41:19
【问题描述】:

我目前正在使用这些库来列出可用网络:

#include <glib.h>
#include <NetworkManager.h>

(顺便说一句,效果很好)

现在我的问题是,如何从我的 C 程序连接到特定网络? 我似乎找不到任何好的文档或示例。

我找到的是:https://cgit.freedesktop.org/NetworkManager/NetworkManager/tree/examples/C/glib/add-connection-libnm.c

但它并没有建议实际连接到添加的网络的方法。 而且,如果重要的话;这段代码将在没有显示器的 Linux 机器上运行,所以我不会寻找任何需要图形应用程序的东西。

有什么想法吗?

谢谢

【问题讨论】:

  • 当你说你想“连接到一个特定的网络”时,你的意思是什么?你想使用例如通过特定接口的 TCP 连接?然后你应该bind 到接口,但是如果你这样做了,那么请注意,任何到无法通过该接口路由的地址的连接都会失败。如果您通过“连接到特定网络”表示其他意思,那么您需要详细说明,例如告诉我们您真正想要解决的问题。
  • @Someprogrammerdude 好吧,我希望机器连接到 wifi 并使用该 wifi 来访问互联网
  • system("nmcli connection up wifi")? reference 如果你愿意的话。

标签: c linux glib networkmanager


【解决方案1】:

您可以使用以下 API

void
nm_client_activate_connection (NMClient *client,
                               NMConnection *connection,
                               NMDevice *device,
                               const char *specific_object,
                               NMClientActivateFn callback,
                               gpointer user_data);

这里描述了每个输入参数的详细信息

https://developer.gnome.org/libnm-glib/stable/NMClient.html#nm-client-activate-connection

【讨论】:

    猜你喜欢
    • 2015-11-22
    • 1970-01-01
    • 2020-09-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-20
    • 1970-01-01
    相关资源
    最近更新 更多