当前位置: 技术问答>linux和unix
获取本地主机ip的问题
来源: 互联网 发布时间:2016-08-07
本文导语: 我的机子接入了局域网,并接入了域。当我使用gethostname()与gethostbyname()获取主机ip时,为什么取得的却是127.0.0.1, 而不是连入网络的地址10.*.*.*,有没有知道的,请帮忙解决一下,非常感谢! | ...
我的机子接入了局域网,并接入了域。当我使用gethostname()与gethostbyname()获取主机ip时,为什么取得的却是127.0.0.1, 而不是连入网络的地址10.*.*.*,有没有知道的,请帮忙解决一下,非常感谢!
|
我不是开发人士 你在你那编译一下
我在这里指定取得的是eth0的ip
我在这里指定取得的是eth0的ip
#include
#include
#include
#include
#include
#include
#include
#include
#include
int main(void)
{
char *local_ip;
struct sockaddr_in *my_ip;
struct sockaddr_in myip;
my_ip = &myip;
struct ifreq ifr;
int sock;
if((sock = socket(AF_INET, SOCK_DGRAM, 0)) sin_addr;
local_ip = inet_ntoa(my_ip->sin_addr);
printf("ip:%sn",local_ip);
close(sock);
return 0;
}
|
这个函数的使用 好像涉及到系统上/etc目录中的一些文件的设置 比如/etc/hosts /etc/resolv.conf /etc/nsswitch.conf