基于UDP协议
#include"pch.h"
#include <stdio.h>
#include <winsock2.h>
#pragma comment (lib, "ws2_32.lib") //加载 ws2_32.dll
#define BUF_SIZE 100
int main() {
WSADATA wsaData;
WSAStartup(MAKEWORD(2, 2), &wsaData);
//创建套接字
SOCKET sock = socket(AF_INET, SOCK_DGRAM, 0);
//绑定套接字
sockaddr_in servAddr;
memset(&servAddr, 0, sizeof(servAddr)); //每个字节都用0填充
servAddr.sin_family = PF_INET; //使用IPv4地址
servAddr.sin_addr.s_addr = htonl(INADDR_ANY); //自动获取IP地址
servAddr.sin_port = htons(1234); //端口
bind(sock, (SOCKADDR*)&servAddr, sizeof(SOCKADDR));
//接收客户端请求
SOCKADDR clntAddr; //客户端地址信息
int nSize = sizeof(SOCKADDR);
char buffer[1024]; //缓冲区
while (1) {
memset(buffer,0,sizeof(buffer));
int strLen = recvfrom(sock, buffer, BUF_SIZE, 0, &clntAddr, &nSize);
printf("来自客户端信息为%s\n", buffer);
sprintf(buffer,"%s%s", buffer," 禾动代理");
printf("返回客户端信息为%s\n", buffer);
sendto(sock, buffer, strlen(buffer), 0, &clntAddr, nSize);
}
closesocket(sock);
WSACleanup();
return 0;
}
我开了两个客户端
客户端见下面