C++实现wifi通信
时间: 2023-08-12 07:21:03 浏览: 189
要在C++中实现wifi通信,可以使用操作系统提供的套接字(socket)编程接口。以下是一个简单的示例代码,演示如何使用套接字进行wifi通信:
```c++
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#define PORT 8000
#define MAXLINE 1024
int main() {
int sockfd, n;
char sendline[MAXLINE], recvline[MAXLINE];
struct sockaddr_in servaddr;
// 创建套接字
if ((sockfd = socket(AF_INET, SOCK_STREAM, 0)) < 0) {
perror("socket error");
exit(1);
}
// 设置服务器地址
memset(&servaddr, 0, sizeof(servaddr));
servaddr.sin_family = AF_INET;
servaddr.sin_port = htons(PORT);
servaddr.sin_addr.s_addr = inet_addr("192.168.1.2");
// 连接服务器
if (connect(sockfd, (struct sockaddr *)&servaddr, sizeof(servaddr)) < 0) {
perror("connect error");
exit(1);
}
while (fgets(sendline, MAXLINE, stdin) != NULL) {
// 发送数据
if (send(sockfd, sendline, strlen(sendline), 0) < 0) {
perror("send error");
exit(1);
}
// 接收数据
if ((n = recv(sockfd, recvline, MAXLINE, 0)) < 0) {
perror("recv error");
exit(1);
}
// 打印接收到的数据
recvline[n] = '\0';
fputs(recvline, stdout);
}
// 关闭套接字
close(sockfd);
return 0;
}
```
这段代码创建了一个TCP套接字,连接到IP地址为192.168.1.2、端口号为8000的服务器。通过`send()`和`recv()`函数,可以发送和接收数据。在实际使用时,需要根据具体的需求进行修改。
阅读全文