/* Sample UDP server */ #include #include #include #include #include int main(int argc, char**argv) { int sockfd,n; struct sockaddr_in servaddr,cliaddr; socklen_t len; char mesg[1000]; sockfd = socket(AF_INET,SOCK_DGRAM,0); if(sockfd < 0){ perror("socket"); exit(1); } bzero(&servaddr,sizeof(servaddr)); servaddr.sin_family = AF_INET; servaddr.sin_addr.s_addr=htonl(INADDR_ANY); servaddr.sin_port = htons(45005); if(bind(sockfd,(struct sockaddr *)&servaddr,sizeof(servaddr)) < 0){ perror("bind"); exit(2); } for (;;) { len = sizeof(cliaddr); n = recvfrom(sockfd,mesg,1000,0,(struct sockaddr *)&cliaddr,&len); if(n < 0){ perror("recvfrom"); continue; } if(n==1){ exit(0); } mesg[n] = 0; printf("[%s]\n",mesg); } }