2011-04-18 53 views
0

如果我使用getHostByName(),我只会得到“127.0.0.1”,因为它写在/ etc/host上,但这对我没有用处。获取我自己的IP地址

然而,下面的Java代码其实我得到了我想要的:

NetworkInterface.getByName(("eth0")).getInetAddresses().nextElement().getHostAddress() 

我认为有一种方法从C得到相同的IP地址也?

回答

2

这表明臭名昭着的Linux/etc/hosts错误配置问题。主机文件应该将127.0.0.1映射到本地主机,并将您的真实IP地址映射到您的真实主机名。

+1

但是这对笔记本电脑没有用处,因为您可能没有永久的真实IP地址。将名称映射到本地环回满足了一些需要找到它并在任何地方工作的工具。所以这是笔记本电脑的首选,除非你喜欢在你每次移动时编辑你的/ etc/hosts。 – Keith 2011-04-18 10:42:53