#include <winsock2.h>
#include <windows.h>
#include <stdio.h>
#pragma comment (lib,"ws2_32")int port = 3423;void main() {
WSADATA wsd;
int ret = WSAStartup(0x0202, &wsd); int socketServ;
struct sockaddr_in serv_addr;
struct sockaddr_in client_addr;
ZeroMemory(&serv_addr, sizeof(serv_addr));
ZeroMemory(&client_addr, sizeof(client_addr)); int retval; 
char buff[1024]; socketServ = socket(AF_INET, SOCK_DGRAM, 0);
if(socketServ == INVALID_SOCKET) {
printf("socket error"); exit(1);
} serv_addr.sin_family = AF_INET;
serv_addr.sin_port = htons(port); 
serv_addr.sin_addr.s_addr = INADDR_ANY; if(bind(socketServ, (struct sockaddr *) &serv_addr, sizeof(serv_addr)) != 0) {
printf("bind err\n"); exit(1);
}
printf("listen on port: %d\n", port);
/* 主循环 */
int sin_size;
while(1) {
retval = recvfrom(socketServ, buff, sizeof(buff), 0, 
(struct sockaddr *) &client_addr, &sin_size); 
printf("Received data from %s\n", inet_ntoa(client_addr.sin_addr)); Sleep(1);
}
WSACleanup();
}
为什么结果是不停地输出
Received data from 0.0.0.0
Received data from 0.0.0.0
Received data from 0.0.0.0
Received data from 0.0.0.0