InetAddress.getLocalHost () выбрасывает unknownHostException в Linux - PullRequest
0 голосов
/ 19 июля 2010

InetAddress.getLocalHost () выбрасывает unknownHostException в linux, пока я не добавлю запись вручную в / etc / hosts.Есть ли способ получить объект InetAddress без добавления записи в файл / etc / host. Примечание: IP-адрес статический

Ответы [ 2 ]

2 голосов
/ 19 июля 2010
String host = null;
NetworkInterface iface = null;

        for(Enumeration<NetworkInterface> ifaces = NetworkInterface.getNetworkInterfaces();ifaces.hasMoreElements();){
                   iface = (NetworkInterface)ifaces.nextElement();
                   InetAddress ia = null;
                    for(Enumeration<InetAddress> ips = iface.getInetAddresses();ips.hasMoreElements();){
                    ia = (InetAddress)ips.nextElement();
                    if(!ia.isLoopbackAddress() && (!ia.isLinkLocalAddress()) && (ia instanceof Inet4Address)) host=ia.getHostAddress();
                    }
                  }
0 голосов
/ 28 августа 2012

Мне интересно то же самое.В этом посте у меня есть машина, на которой я НЕ добавил запись в /etc/hosts...

java getLocalHost () UnknownHostException / etc / hosts файл отличается linux api?

но я думаю, что машина может быть настроена по-другому, но не знаю, как.Я предпочитаю не добавлять его в / etc / hosts, так как мы уже настроили имя хоста в / etc / sysconfig / network, и одного места "должно" быть достаточно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...