#include "inet.h" void main(int argc,char* argv[]) { int pn=-1; if(argc>1) pn=atoi(argv[1]); int sfd; struct sockaddr_in cli_addr,ser_addr; bzero((char*)&ser_addr,sizeof(ser_addr)); ser_addr.sin_family = AF_INET; ser_addr.sin_addr.s_addr = inet_addr(( argc<3) ? SERV_HOST_ADDR : argv[2]); ser_addr.sin_port = htons((pn==-1) ? SERV_UDP_PORT : pn); if( (sfd = socket(AF_INET,SOCK_DGRAM,0))<0) perror("socket fails"); bzero((char*)&cli_addr,sizeof(cli_addr)); cli_addr.sin_family = AF_INET; cli_addr.sin_addr.s_addr = htonl(INADDR_ANY); cli_addr.sin_port = htons(0); if(bind(sfd,(struct sockaddr*)&cli_addr,sizeof(cli_addr))<0) perror("can't bind"); /* char msg[]="Hello World ! XXX"; int m_len=strlen(msg); struct sockaddr* sa = (struct sockaddr * ) &ser_addr; if(sendto(sfd,msg,m_len,0,(struct sockaddr * )&ser_addr,sizeof(ser_addr))==-1) perror("send err"); char rec_buf[100]; int n = recvfrom(sfd,rec_buf,100,0,(struct sockaddr*) 0, (socklen_t *)0); if(n<0) perror("Err rec"); rec_buf[n]=0; cout<