第一步:
struct addrinfo hints;
struct addrinfo *res=NULL;
memset(&hints,0,sizeof(hints));
hints.ai_family=AF_INET;
hints.ai_socktype=SOCK_STREAM;
hints.ai_protocol=IPPROTO_TCP;
getaddrinfo("www.qq.com", "80", &hints,&res);
第二步:
struct sockaddr addr;
int sock;
sock=socket(AF_INET,SOCK_DGRAM,IPPROTO_UDP);
connect(sock,res->ai_addr,res->ai_addrlen);
第三步:
int len=sizeof(addr);
char ip[64];
getsockname(sock,(struct sockaddr*)&addr,&len);
getnameinfo((struct sockaddr *)&addr,len,ip,sizeof(ip),NULL,0,NI_NUMERICHOST);