mark:https://blog.csdn.net/dongyoubin/article/details/122134198
-
int getWirelessStatus(char *ath, char *ssid, char *ipAddr)
-
-
-
-
-
-
-
-
-
printf(
"ath is NULL\n");
-
-
-
-
if ((sock_fd =
socket(PF_INET, SOCK_DGRAM,
0)) ==
-1)
-
-
-
-
-
-
memset(&iwr,
0,
sizeof(iwr));
-
memset(&ifr,
0,
sizeof(ifr));
-
strcpy(iwr.ifr_ifrn.ifrn_name, ath);
-
strcpy(ifr.ifr_name, ath);
-
-
if (
ioctl(sock_fd, SIOCGIFADDR, &ifr) <
0)
-
-
-
-
-
-
strcpy(ipAddr,
inet_ntoa(((
struct sockaddr_in *)&ifr.ifr_addr)->sin_addr));
-
printf(
"ipAddr:%s\n", ipAddr);
-
-
-
-
iwr.u.essid.pointer = buffer;
-
iwr.u.essid.length =
sizeof(buffer);
-
if (
ioctl(sock_fd, SIOCGIWESSID, &iwr) <
0)
-
-
-
-
-
-
printf(
"ssid:%s\n", (
char *)iwr.u.essid.pointer);
-
memcpy(ssid, (
char *)iwr.u.essid.pointer,
sizeof(buffer));
-
-
-
-
-
获取wifi连接状态ioctl(sockfd, SIOCGIWSTATS, &iwr),SIOCGIWSTATS有的平台不支持
理论上getWirelessStatus函数返回的ssid和ipAddr都不为NULL表示wifi连接成功
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)