Was bedeutet InetAddress.isSiteLocalAddress() eigentlich?

Hier ist ein code zu ermitteln, der lokale host-name ist, soll die Arbeit an einem multi-homed-box:

 /**
 * Work out the first local host name by iterating the network interfaces
 * 
 * @return
 * @throws SocketException
 */
private String findFirstLocalHostName() throws SocketException {

    Enumeration<NetworkInterface> ifaces = NetworkInterface.getNetworkInterfaces();
    while (ifaces.hasMoreElements()) {
        NetworkInterface iface = ifaces.nextElement();
        Enumeration<InetAddress> addresses = iface.getInetAddresses();
        while (addresses.hasMoreElements()) {
            InetAddress add = addresses.nextElement();
            if (!add.isLoopbackAddress() && add.isSiteLocalAddress()) {
                return add.getHostName();
            }
        }
    }
    throw new RuntimeException("Failed to determine local hostname");
}

Wird der Anruf zu isSiteLocalAddress Einführung ein Fehler? Ich kann nicht finden alle nützliche Informationen über diese Methode, aber ich habe das Gefühl, dass es sich um IP v 6 nur und ist veraltet.

  • Zur Klarstellung, ich habe nicht gemeint, dass die Methode veraltet... nur der Begriff der "site-local" - Adresse in der IPv6-pro ietf.org/rfc/rfc3879.txt
InformationsquelleAutor TiGz | 2011-04-11
Schreibe einen Kommentar