当前位置: 技术问答>linux和unix
gethostbyname
来源: 互联网 发布时间:2015-03-17
本文导语: 在Linux下,我想求得本机的IP的地址。 首先使用gethostname() 再使用gethostbyname() 返回127.0.0.1这个值, 请问怎样才能返回真正的IP地址?? | 用gethostname 在用gethostbyname是不行的,除非,你该了/etc/hosts文件 我有一段...
在Linux下,我想求得本机的IP的地址。
首先使用gethostname()
再使用gethostbyname()
返回127.0.0.1这个值,
请问怎样才能返回真正的IP地址??
首先使用gethostname()
再使用gethostbyname()
返回127.0.0.1这个值,
请问怎样才能返回真正的IP地址??
|
用gethostname 在用gethostbyname是不行的,除非,你该了/etc/hosts文件
我有一段程序,也心别人给我的,你式一下吧,记得要给我分呦~~
//get localip (eth0)
char *getip( )
{
int fd;
struct ifreq ifr;
struct sockaddr_in* sin;
char *ip;
int i;
ip = (char *)malloc(30);
fd = socket(PF_INET, SOCK_DGRAM, 0);
memset(&ifr, 0x00, sizeof(ifr));
strcpy(ifr.ifr_name, "eth0");
ioctl(fd, SIOCGIFADDR, &ifr);
close(fd);
sin = (struct sockaddr_in* )&ifr.ifr_addr;
ip = (char *)inet_ntoa(sin->sin_addr);
return ip;
}
或者另外一个方法,用shell读取ifconfig eth0 的信息,自己分析,也能实现
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。