2011-04-18 82 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