如何在程序中获取同一台机器的多个IP地址?

battlejoker 2005-04-27 10:46:18
我在同一台机器上有多块网卡
现在想通过程序获取每块网卡上的IP地址

可是我通过gethostbyname()函数取得的hostent结构中,地址列表里只有127.0.0.1这一个地址
怎样才能获得其它的IP地址?

ps: 我用同样的程序就可以获得比如www.sina.com.cn的多个地址解析,就是本机的不行,只能获得一个loopback的地址
...全文
107 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
battlejoker 2005-04-27
  • 打赏
  • 举报
回复
name我是用gethostname()获得的

/etc/hosts:
127.0.0.1 myhostname localhost.localdomain localhost

是不是要在后面添加其它网络接口的地址?
gaoxianfeng 2005-04-27
  • 打赏
  • 举报
回复
name 你给的什么?
localhost?

那你的
/etc/hosts 里怎么写的?
battlejoker 2005-04-27
  • 打赏
  • 举报
回复
问题解决了
首先得在/etc/hosts后面加上你要解析的IP地址和主机名的对应关系
然后在/etc/host.conf文件后面加一条
multi on
才能在gethostbyname的时候获取多个本地地址
gaoxianfeng 2005-04-27
  • 打赏
  • 举报
回复

是啊.
而且 你还要看 gethostname 获得的是那个
我还真不知道是那个 你自己试试看

23,223

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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