/*UDP-echoクライアント a.out localhost [port番号] 2009.11.5 Haruka Fukai*/ #include #include int main(int argc, char *argv[]){ struct addrinfo hint={0,AF_INET6,SOCK_DGRAM,0,0,NULL,NULL,NULL}; int sock; struct addrinfo *ai,*res; struct sockaddr_in6 server; sock=socket(AF_INET6,SOCK_DGRAM,0); getaddrinfo(argv[1],argv[2],&hint,&res); for(ai=res;ai!=NULL;ai=ai->ai_next){ memcpy(&server,ai->ai_addr,ai->ai_addrlen); break; } while(1){ int len; char buf[128]; char hed[128]; strcpy(hed,"[s07811hf]"); len=read(0,buf,sizeof(buf)); strcat(hed,buf); sendto(sock,hed,len+10,0,(struct sockaddr*)&server,sizeof(struct sockaddr_in6)); memset(buf,0,sizeof(buf)); recvfrom(sock,buf,sizeof(buf),0,NULL,0); printf("%s\n",buf); } freeaddrinfo(res); return 0; }