服务器InetAddress.getLocalHost().getHostAddress()获取的ip为127.0.0.1

在linux环境中,在根目录中

etc  的hosts 文件中可以看到如下语句

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4 
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6 

这样,当语句InetAddress.getLocalHost().getHostAddress()

搜索到本机名是没有结果,就默认为localhost,而localhost对应的IP已经指明为 127.0.0.1,所以你获取不到你预想的IP

这样你需要在这个hosts文件中加一条语句,比如你的这个linux的名字是 mylinux ,分配的IP是192.168.1.1,那么就添加

192.168.1.1   mylinux

总的来看,看到的语句就是

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4 
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6 

192.168.1.1   mylinux

如果上面也有这个名字 mylinux会怎样?你可以试试。

最后,可能遇到的问题的解决方案。

1、linux的名字如何获取?-----只需要命令行:hostname 然后enter即可获取

2、无法更改hostname?---------------你是不是没有权限啊,找顶级管理员root吧

原文地址:https://www.cnblogs.com/bianchengxia/p/14216815.html