获取本机IP地址??

叨叨之道 2002-10-14 02:28:12
为什么使用gethostname和gethostbyname得到的IP地址总是127.0.0.1?
...全文
40 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
cool_blade 2002-10-15
  • 打赏
  • 举报
回复
那就是你的网卡没有IP地址了,可以手工设一个。
swwwpop 2002-10-15
  • 打赏
  • 举报
回复
最简单的就是用ifconfig了,如果你用的是redhat,或者是mandrake
wwlxmai 2002-10-15
  • 打赏
  • 举报
回复
up
alphastar 2002-10-15
  • 打赏
  • 举报
回复

for(int i=0; lpHost->h_addr_list[i] != NULL ;i++)
{
memcpy(&(dest.sin_addr), lpHost->h_addr_list[i],lpHost->h_length);
___________________________________________________
| strcpy(acIpAddr,inet_ntoa(dest.sin_addr)); |
|__________________________________________________|
// acIpAddr 被最后一次拷贝所覆盖
}
liuph 2002-10-15
  • 打赏
  • 举报
回复
配置/etc/hosts
blh 2002-10-14
  • 打赏
  • 举报
回复
两个函数好像要使用/etc/hosts文件,所以你需要将你的ip地址和主机名在hosts文件中标明
踏岸寻柳 2002-10-14
  • 打赏
  • 举报
回复
查看一下文件/etc/hosts,也就是主机HOST表。

将该主机的名称和IP地址写进去,如:
hostname 10.10.10.10
叨叨之道 2002-10-14
  • 打赏
  • 举报
回复
下面是ifconfig的输出,但是我始终只能的到loopback地址,不知道为什么?

eth0 Link encap:Ethernet HWaddr 00:30:02:0B:00:BD
inet addr:192.1.1.144 Bcast:192.1.1.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:231517 errors:0 dropped:0 overruns:0 frame:0
TX packets:522 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
RX bytes:37262899 (35.5 Mb) TX bytes:61972 (60.5 Kb)
Interrupt:12

lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:10 errors:0 dropped:0 overruns:0 frame:0
TX packets:10 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:700 (700.0 b) TX bytes:700 (700.0 b)

Yang_ysz 2002-10-14
  • 打赏
  • 举报
回复
int GetIpAddress(char *acIpAddr)
{
HOSTENT *lpHost=NULL;
struct sockaddr_in dest;
char hostname[MAXLEN];

gethostname(hostname, MAXLEN);

lpHost = gethostbyname(hostname);
if (lpHost == NULL)
{
return -1;
}
else
{
for(int i=0; lpHost->h_addr_list[i] != NULL ;i++)
{
memcpy(&(dest.sin_addr), lpHost->h_addr_list[i],lpHost->h_length);
strcpy(acIpAddr,inet_ntoa(dest.sin_addr));
}

}
return 0;
}
cool_blade 2002-10-14
  • 打赏
  • 举报
回复
用ifconfig看一下

19,612

社区成员

发帖
与我相关
我的任务
社区描述
系统使用、管理、维护问题。可以是Ubuntu, Fedora, Unix等等
社区管理员
  • 系统维护与使用区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧