首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

请问gethostbyaddr获取远程IP引发的异常

2012-03-21 
请教gethostbyaddr获取远程IP引发的错误SOCKADDR_IN pingDWORD IPIPinet_addr(220.181.6.6)hpgetho

请教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网的域名了!

热点排行