Есть ли новая библиотека для Java, поддерживающая IPv6 в Solaris?
Вопрос
Я делаю следующее, чтобы найти адрес в Интернете.Это не удается особенно на компьютерах Solaris, у которых есть серверы имен IPv6 в resolv.conf.Прекрасно работает на компьютерах Windows с серверами имен IPv6 и на компьютерах Solaris только с IPv4.Судя по возвращенной ошибке, в строке Java «getAttributes» произошел внутренний сбой (где-то глубоко) из-за проблемы синтаксического анализа при представлении сервера имен IPv6.Мой вопрос: «Есть ли способ сделать это лучше, чтобы он правильно работал в Solaris при использовании IPv6?»
InetAddress localhost=InetAddress.getLocalHost();
ipAddress=localhost.getHostAddress();
env.put("java.naming.factory.initial", "com.sun.jndi.dns.DnsContextFactory");
DirContext ictx = new InitialDirContext(env);
Attributes attrs=ictx.getAttributes("blah.test.fakedomain", new String[] { "A" });
Решение 2
Новые версии Java работают «лучше».После обновления до Java 7 такой внутренний сбой больше не возникает.
Другие советы
База java.net.InetAddress имел IPv6 варианты и IPv4 варианты начиная с Java 1.4 (согласно javadoc).
Похоже, у вас есть еще вопросы по поводу com.sun.jndi.dns.DnsContextFactory.Какая версия Явы?