Java 7 aggiunge un nuovo metodo statico alla classe java.net.InetAddress
:Cosa restituisce il valore InetAddress.getLoopbackAddress() statico?
static InetAddress getLoopbackAddress()
Returns the loopback address.
Ora mi chiedo quale indirizzo sarà contenuta nel risultato, l'IP4 o IP6 uno.
Il documentation è un po 'di nebbia sul tema:
L'InetAddress restituito rappresenterà l'indirizzo IPv4 di loopback, 127.0.0.1, o l'indirizzo di loopback IPv6, :: 1. L'indirizzo di loopback IPv4 restituito è solo uno dei tanti nel modulo 127. .. *
Come fa Java decidere se tornare 127.0.0.1
o il ciondolo IPv6 ::1
?
Oppure entrambi sono rappresentati dallo stesso oggetto InetAdress?
Il risultato è sempre lo stesso? Dipende dalle mie schede di rete?
Non sicuro che sia corretto. Almeno in Java 7 l'impostazione predefinita è preferire lo stack IPv6 ** ** ma preferire gli indirizzi IPv4 ** ** (notare la differenza). Ciò significa che 'InetAddress.getLoopbackAddress()' restituirà un indirizzo IPv4 di default sulla maggior parte dei sistemi operativi moderni. Ci sono [due diverse proprietà] (http://docs.oracle.com/javase/7/docs/technotes/guides/net/ipv6_guide/#ipv6-networking) per controllarlo. – peterh
Sono abbastanza sicuro che EJP sia completamente corretto, ha appena lasciato fuori gli "indirizzi" impliciti dopo "IPv4" nella sua risposta.Se è presente uno stack IPv6 (che è una proprietà che, se si legge il collegamento, viene * rimosso * quando si imposta lo stack preferito su IPv4), ma gli indirizzi IPv4 non sono preferiti, quindi gli indirizzi IPv6 verranno impostati come predefiniti. – codetaku