转载
C++ UDP客户端服务器Socket编程
UDPServer.cpp
#include<winsock2.h> #include<stdio.h> #include<string.h> #include<iostream> using namespace std; #pragma comment(lib,"ws2_32.lib") #define BUFFER_SIZE 1024 int main() { WSADATA WSAData; char receBuf[BUFFER_SIZE]; char Response[] = ""; if (WSAStartup(MAKEWORD(2, 2), &WSAData) != 0) { printf("初始化失败"); exit(1); } SOCKET sockServer = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP); if (sockServer == INVALID_SOCKET) { printf("Failed socket() "); return 0; } SOCKADDR_IN addr_Server; //服务器的地址等信息 addr_Server.sin_family = AF_INET; addr_Server.sin_port = htons(4567); addr_Server.sin_addr.S_un.S_addr = INADDR_ANY; if (bind(sockServer, (SOCKADDR*)&addr_Server, sizeof(addr_Server)) == SOCKET_ERROR) { //服务器与本地地址绑定 printf("Failed socket() %d ", WSAGetLastError()); return 0; } SOCKADDR_IN addr_Clt; int fromlen = sizeof(SOCKADDR); while (true) { int last = recvfrom(sockServer, receBuf, 1024, 0, (SOCKADDR*)&addr_Clt, &fromlen); if (last>0) { //判断接收到的数据是否为空 receBuf[last] = '