0

私はインターネットアドレスを検索するために次のことをしています。特に、resolv.confにIPv6ネームサーバーがあるSolarisマシンでは失敗します。IPv6ネームサーバーを備えたWindowsマシン、およびIPv4のみのSolarisマシンで正常に動作します。返されたエラーから、Javaの「getAttributes」行がIPv6ネームサーバーで提示された場合、解析の問題で内部的に(どこか深いところで)失敗しているように見えます。私の質問は、「IPv6が使用されているときにSolarisで正しく機能する、これをより良くする方法はありますか?」です。

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" }); 
4

2 に答える 2

0

ベースのjava.net.InetAddressには、Java 1.4以降(javadocによる)IPv6バリアントとIPv4バリアントがあります。

com.sun.jndi.dns.DnsContextFactoryについてもっと質問があるようですね。Javaのバージョンは何ですか?

于 2009-08-19T17:04:38.643 に答える
0

新しいバージョンの Java は「よりよく」動作します。Java 7 にアップグレードした後、このように内部的に失敗することはなくなりました。

于 2012-10-03T19:20:46.480 に答える