rendered paste body/* * Server UDP program */#include <stdio.h>#include <string.h>#include <unistd.h>#include <stdlib.h>#include <error.h>#include <errno.h>#include <fcntl.h>#include <netdb.h>#define CHECK(x) \ if ( (x) == -1 ) { \ fprintf(stderr, "Error (@ %d) : %s\n",__LINE__, strerror(errno)); \ exit(-1); \ } int main (){ int sock, socklen; struct sockaddr_in server, client; char buffer[20]; int serverlen; memset(&server, '\0', sizeof server); server.sin_addr.s_addr = inet_addr("127.0.0.1"); server.sin_port = htons(9090); server.sin_family = PF_INET; CHECK ( sock = socket(PF_INET, SOCK_DGRAM | SOCK_NONBLOCK, 0)); // fcntl ( sock, F_SETFL, O_NONBLOCK ); CHECK ( bind(sock, (struct sockaddr *)&server, sizeof server)); memset(&buffer, '\0', 20); serverlen = sizeof(server); /* serverlen = recvfrom(sock, buffer, 20, MSG_DONTWAIT, (struct sockaddr *)&server, &serverlen); printf("serverlen : %d\n", serverlen); */ do{ serverlen = recvfrom(sock, buffer, 20, 0, (struct sockaddr *)&client, &serverlen); printf("serverlen : %d\n", serverlen); sleep(1); }while ( serverlen == -1 ); printf("Message : %s\n", buffer); close(sock); return 0;}