创建wpa_supplicant UI

时间:2016-11-08 13:46:07

标签: c unix wifi wifi-direct wpa-supplicant

我需要创建一个与litle卡和android之间的直接wifi通信的程序。我做了一个" iw list"我得到了:     支持的接口模式:          * IBSS          * 管理          * AP          *监视器          * P2P客户端          * P2P-GO 所以,通常情况下应该这样做。 我找到了这个网站:https://w1.fi/wpa_supplicant/devel/index.html在c代码中使用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还是什么都没有。 请帮帮我:)。

1 个答案:

答案 0 :(得分:0)

我发现,这是我的错  我换了     size_t size_buf = 0;     size_t size_buf = 1023; 我的坏-_-