请教gethostbyaddr获取远程IP引发的错误
SOCKADDR_IN ping;
DWORD IP;
IP=inet_addr("220.181.6.6");
hp=gethostbyaddr((LPSTR)&IP,4,AF_INET);
ping.sin_addr.S_un.S_addr=*(unsigned long *)hp->h_addr;
上面代码获取IP出错了,(220.181.6.6为百度IP)
如果把上面的IP=inet_addr("220.181.6.6");改为IP=inet_addr("127.0.0.1");又没错了
如果把程序改为
SOCKADDR_IN ping;
ping.sin_addr.S_un.S_addr=inet_addr("220.181.6.6");
这个也没有错误,程序你正常运行!
请问高手,如果用第一种方法获得IP,是什么引发错误,怎么解决错误?
[解决办法]
SOCKADDR_IN ping;
DWORD IP;
IP=inet_addr( "220.181.6.6 ");
hp=gethostbyaddr((LPSTR)&IP,4,AF_INET);
ping.sin_addr=*(unsigned long *)hp-> h_addr_list[0];
[解决办法]
www网的IP是不能解释出域名的, gethostbyaddr是没这个功能的
[解决办法]
那应该用什么函数根据ip解析www网的域名了!