#include int main() { int sk, size, port; char data[32]; struct sockaddr myaddr, recv; port = 2000; if(argc == 2) sscanf(argv[1], "%d", &port); sk = udp_socket(); if(sk == -1) { printf("open failed.\r"); return 0; } myaddr.sin_port = port; myaddr.sin_addr = 0; udp_bind(sk, &myaddr); for(;;) { size = recvfrom(sk, data, 32, &recv); if(size > 0) { if(data[0] == 'q') break; sendto(sk, data, size, &recv); } } udp_free(sk); }