#include"net.h"void usage(char *s){ printf("\nthis is udp\n"); printf("\nusage:\n\t %s serv_ip serv_port",s); printf("\n\t serv_ip:udp server ip address"); printf("\n\t serv_port:udp server port\n\n");}int main(int argc,char *argv[]){ int fd = -1; int port = SERV_PORT; port = atoi(argv[2]); if(port < 0 || (port > 0 && port <= 5000)) { usage(argv[0]); exit(1); } struct sockaddr_in sin; if(argc != 3) { usage(argv[0]); exit(1); } //1 if((fd = socket(AF_INET,SOCK_DGRAM,0)) < 0) { perror("socket"); exit(1); } sin.sin_family = AF_INET; sin.sin_port = htons (SERV_PORT); if (inet_pton (AF_INET, argv[1], (void *) &sin.sin_addr) != 1) { perror ("inet_pton"); exit (1); } printf("udp client starting...ok\n"); char buf[BUFSIZ]; while(1) { bzero(buf,BUFSIZ); if(fgets(buf,BUFSIZ-1,stdin) == NULL) { perror("fgets"); continue; } sendto(fd,buf,strlen(buf),0,(struct sockaddr *)&sin,sizeof(sin)); if (!strncasecmp (buf, QUIT_STR, strlen (QUIT_STR))) { printf ("Client is exiting!\n"); break; } } close(fd); return 0;}