我需要创建一个程序,它可以在小卡和 android 之间通过直接 wifi 进行通信。我做了一个“iw list”,我得到了:支持的接口模式:* IBSS * 托管 * AP * 监视器 * P2P 客户端 * P2P-GO 所以,通常,应该这样做。我找到了这个网站:https : //w1.fi/wpa_supplicant/devel/index.html 在 ac 代码中使用 wpa_applicant。所以,我像他们说的那样使用 wpa_ctrl.c 代码:
#include <stdio.h>
#include "direct.h"
#include "wpa_ctrl.h"
#include <string.h>
void function_test_call(char *msg, size_t len)
{
printf("message callback %s\n", msg);
printf("len callback %d\n", len);
}
int main()
{
struct wpa_ctrl *wpa_path;
const char *path = "/var/run/wpa_supplicant/wlan0";
wpa_path = (void*)0;
wpa_path = wpa_ctrl_open(path);
if (wpa_path)
{
printf("youpi\n");
}
else
{
printf("pas youpi\n");
return (1);
}
char response[1024];
size_t size_buf = 0;
int ret = wpa_ctrl_request(wpa_path, "PING",
4, response, &size_buf, function_test_call);
printf("ret value %d\n", ret);
printf("response size %d\n", size_buf);
printf("reponse : %s\n", response);
return (0);
}
这是我运行时附加的内容:youpi ret 值 0 响应大小 0 响应:
所以连接没问题,但 REQUEST ping 应该是 PONG 或者我什么都没有。请帮我 :)