C 获取我自己的IP地址

C 获取我自己的IP地址,c,linux,networking,C,Linux,Networking,如果我使用getHostByName()我只会得到“127.0.0.1”,因为它写在/etc/host上,但这对我没有用处 然而,通过以下java代码,我实际上得到了我想要的: NetworkInterface.getByName(("eth0")).getInetAddresses().nextElement().getHostAddress() 我认为有一种方法也可以从C获取相同的ip地址。签出。签出。这表明了臭名昭著的Linux/etc/hosts配置错误问题。hosts文件应该将127

如果我使用
getHostByName()
我只会得到“127.0.0.1”,因为它写在/etc/host上,但这对我没有用处

然而,通过以下java代码,我实际上得到了我想要的:

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

我认为有一种方法也可以从C获取相同的ip地址。

签出。

签出。

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

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

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