/*UDP-echoサーバー 2009.11.5 Haruka Fukai*/ #include #include #include #include int main(int argc, char *argv[]){ struct addrinfo hint={AI_PASSIVE,AF_INET6,SOCK_DGRAM,0,0,NULL,NULL,NULL}; int sock; socklen_t peerlen; struct addrinfo *ai,*res; struct sockaddr_in6 peer; int ret; ret = getaddrinfo(NULL,"8115",&hint,&res); ai = res; sock=socket(ai->ai_family,ai->ai_socktype,ai->ai_protocol); bind(sock,ai->ai_addr,ai->ai_addrlen); while(1){ char buf[128]; int readlen; int sendlen; char addrbuf[128]; memset(buf,0,sizeof(buf)); peerlen = sizeof(peer); readlen=recvfrom(sock,buf,sizeof(buf),0,(struct sockaddr*)&peer,&peerlen); sendlen=sendto(sock,buf,readlen,0,(struct sockaddr*)&peer,sizeof(struct sockaddr_in6)); } freeaddrinfo(res); return 0; }