#include #include #include #include #include #include int main(){ int skt = socket(AF_INET, SOCK_DGRAM, 0); struct sockaddr_in sad; sad.sin_port = htons(5141); sad.sin_addr.s_addr = INADDR_ANY; sad.sin_family = AF_INET; bind(skt, (const sockaddr*)&sad, sizeof(sad)); char message[1024]; struct sockaddr_in src_addr; socklen_t addrlen; const char *reply = "There was a pig in the ceiling, but it fell out through a hole\n"; for(;;){ size_t msglen = recvfrom(skt, message, 1024, 0, (struct sockaddr*)&src_addr, &addrlen); message[msglen] = 0; printf("Message from %s:%d : %s\n", inet_ntoa(src_addr.sin_addr), src_addr.sin_port, message); sendto(skt, reply, strlen(reply), 0, (struct sockaddr*)&src_addr, addrlen); } return 0; }