#include #include #include #define PORT_NO 3221 #define BUFLEN 512 int main(void) { int s; struct sockaddr_in sa; char buf[BUFLEN]; int addrlen; int pktlen; if((s = socket(PF_INET, SOCK_DGRAM, 0)) < 0) { perror("socket"); return(-1); } memset(&sa, 0, sizeof(sa)); sa.sin_family = AF_INET; sa.sin_addr.s_addr = INADDR_ANY; sa.sin_port = htons(PORT_NO); if((bind(s, (struct sockaddr *) &sa, sizeof(sa))) < 0) { perror("bind"); close(s); return(-1); } while((pktlen = recvfrom(s, buf, sizeof(buf), 0, &sa, &addrlen)) > 0) { sendto(s, buf, pktlen, 0, &sa, addrlen); printf("Packet received!\n"); } }