2009-08-19 5 views
0

Ich mache folgendes, um eine Internetadresse zu suchen. Es schlägt speziell auf Solaris-Rechnern fehl, die IPv6-Nameserver in der resolv.conf haben. Funktioniert problemlos auf Windows-Computern mit IPv6-Nameservern und nur auf Solaris-Computern mit IPv4. Aus dem zurückgegebenen Fehler scheint es, dass die Java-Zeile "getAttributes" intern (irgendwo tief) mit einem Parsing-Problem fehlschlägt, wenn sie mit einem IPv6-Nameserver konfrontiert wird. Meine Frage ist, "gibt es eine Möglichkeit, dies besser zu tun, die unter Solaris ordnungsgemäß funktioniert, wenn IPv6 verwendet wird?"Gibt es eine neue Bibliothek für Java, die IPv6 unter Solaris unterstützt?

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

Welche Informationen möchten Sie erhalten? Ich habe noch nie die Verwendung der Namens-API vor – Kevin

+0

gesehen. Was ich mache, ist das Abrufen der A-Datensätze für einen bestimmten Host-Namen. Ich brauche eine Liste aller IP-Adressen für einen bestimmten Domain-Namen. Die Java-Bibliothek selbst fällt jedoch tief in das System ein, wenn auf einem Solaris-Host IPv6-Nameserver ausgeführt werden. Vielleicht gibt es einen anderen Weg, dies zu tun, der in dieser Situation nicht scheitern wird? –

Antwort

0

Neuere Versionen von Java funktionieren "besser". Nach dem Upgrade auf Java 7 tritt intern kein Fehler mehr auf.

0

Die Basis java.net.InetAddress ist seit Java 1.4 (pro javadoc) IPv6 Varianten und IPv4 Varianten hatte.

Klingt, als hätten Sie mehr Fragen über com.sun.jndi.dns.DnsContextFactory. Welche Version von Java?

+0

Dies ist J2SE6. Leider weiß ich nicht im Voraus, ob der Rechner IPv6 oder IPv4 Nameserver verwenden wird. Daher der springende Punkt, die Java-Bibliothek zu benutzen und nicht meine eigene zu rollen. :-) –

Verwandte Themen