Chinaunix

标题: 求助:为什么调用gethostbyname后,输出地址只有“127.0.0.1” [打印本页]

作者: zgx120106    时间: 2006-10-10 23:04
标题: 求助:为什么调用gethostbyname后,输出地址只有“127.0.0.1”
struct hostent * pHost;       
char  hostName[128];
char **ptr;
char str[INET_ADDRSTRLEN];
pHost = gethostbyname(hostName);      
ptr=pHost->h_addr_list;
for( ; *ptr!=NULL ; ptr++ )
{
inet_ntop (pHost->h_addrtype,*ptr,str,sizeof(str));
printf("ip_addr: %s\n",str);
}

运行后只有127.0.0.1
作者: skai    时间: 2006-10-10 23:18
hostName

你输入什么了,我怎么没看出来啊
作者: zgx120106    时间: 2006-10-10 23:29
sorry , 忘了一行
struct hostent * pHost;        
char  hostName[128];
char **ptr;
char str[INET_ADDRSTRLEN];
gethostname(hostName, 128);
pHost = gethostbyname(hostName);      
ptr=pHost->h_addr_list;
for( ; *ptr!=NULL ; ptr++ )
{
inet_ntop (pHost->h_addrtype,*ptr,str,sizeof(str));
printf("ip_addr: %s\n",str);
}
作者: skai    时间: 2006-10-11 00:06
对,没错,是只输出127.0.0.1,你输入个网址就答到你想要的效果了
作者: zgx120106    时间: 2006-10-11 12:04
那请问,如何输出除环路地址外的本机实际的ip地址呢?
作者: JohnBull    时间: 2006-10-11 12:08
修改/etc/hosts
另参见
http://bbs.chinaunix.net/viewthread.php?tid=831530




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2