/*TCPでechoクライアント a.out localhost [port番号] 2009.11.5 Haruka Fukai*/ #include #include #include #include int main(int argc, char *argv[]){ struct addrinfo hint={0,AF_INET6,SOCK_STREAM,0,0,NULL,NULL,NULL}; int sock; struct addrinfo *ai,*res; struct sockaddr_in6 server; sock=socket(AF_INET6,SOCK_STREAM,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; } connect(sock,ai->ai_addr,ai->ai_addrlen); while(1){ int len; char buf[128]; char hed[128]; int ret; len=read(0,buf,sizeof(buf)); strcpy(hed,"[s07811hf]"); strcat(hed,buf); ret=write(sock,hed,len+10); if(ret<0){ perror("write"); exit(0); } memset(buf,0,sizeof(buf)); ret=read(sock,buf,sizeof(buf)); if(ret<0){ perror("read"); exit(0); } printf("%s\n",buf); } freeaddrinfo(res); return 0; }