解决方法一:修改linux下hosts文件。
在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
最后,可能遇到的问题的解决方案。
1、linux的名字如何获取?-----只需要命令行:hostname 然后enter即可获取
2、无法更改hostname?---------------你是不是没有权限啊,找顶级管理员root吧。
解决方法二:不用InetAddress.getLocalHost().getHostAddress()获取本机ip,采用其它方法获取。