Inetaddress -Klasse
Die Inetaddress -Klasse wird verwendet, um die digitale IP -Adresse und den Domänennamen der zuvor besprochenen Adresse zu verkapulieren.
Sie interagieren mit dieser Klasse über einen IP -Hostnamen, der leichter und einfacher zu verstehen ist als die IP -Adresse.
Die Adressnummer ist in der Inetaddress -Klasse versteckt.
Fabrikmethode in der Inetaddress -Klasse
Die Inetaddress -Klasse hat keinen offensichtlichen Konstruktor. Um ein Inetaddress -Objekt zu erzeugen, muss eine verfügbare Werksmethode verwendet werden.
Eine Fabrikmethode ist nur eine Konvention für eine statische Methode in einer Klasse, um eine Instanz dieser Klasse zurückzugeben.
Für Inetaddress können drei Methoden: getLocalHost (), getbyName () und getAllbyName () verwendet werden, um eine Instanz von Inetaddress zu erstellen.
getLocalHost () gibt nur das Inetaddress -Objekt zurück, das den Localhost symbolisiert.
Die lokale Adresse lautet auch Localhost, 127.0.0.1, und diese drei Adressen sind gleich.
Die Methode von GetByName () gibt eine Inetaddress zurück, die an ihren Hostnamen übergeben wird.
Wenn diese Methoden die Hostnamen nicht beheben können, stellen sie eine unbekannte Ausnahme aus.
Im Internet ist es üblich, einen Namen zu verwenden, um mehrere Maschinen darzustellen.
Die Factory -Methode getAllbyName () gibt eine Reihe von inetAdresses -Klasse zurück, die alle Adressen darstellt, die durch einen besonderen Namen zerlegt werden.
Wenn der Name nicht in mindestens eine Adresse zerlegt werden kann, wird eine unbekannte Ausnahme von unbekannterHostException angelegt.
Programmbeispiel
INetAddressTest01
Paket com.example.network; importieren Sie /Ausgabe: Maschinenname/IP-Adresse // beispielsweise Benutzername-PC/10.4.16.131 // Die IP-Adresse über die Domain-Name Adresse = inetaddress.getByname ("www.sohu.com"); (Adresse); / /Ausgabe: Domänenname /IP -Adresse}} Verwenden Sie die Inetaddress -Klasse, um spezielle IP -Adressen zu ermitteln
IP -Adressen werden in normale Adressen und Sonderadressen unterteilt. Die meisten der vorherigen Artikel sind gewöhnliche IP -Adressen.
1. Isanylocaladdress -Methode
Rückgabe true Wenn die IP -Adresse eine Wildcard -Adresse ist, gibt sie ansonsten false zurück. Durch die Verwendung von Wildcard -Adressen können Clientverbindungen von jeder Netzwerkschnittstelle auf dem Serverhost akzeptiert werden. Die Wildcard -Adresse von IPv4 beträgt 0,0.0.0. ::.
2. Methode Isloopbackaddress
Rückgabe true, wenn die IP -Adresse eine Loopback -Adresse ist, ansonsten return false.loopback -Adresse repräsentiert die IP -Adresse des Computers. Der Bereich der Loopback -Adresse von IPv4 beträgt 127.0.0.0 ~ 127.255.255.255.255. Zum Beispiel sind 127.1.2.3 und 127.0.200.200 Loopback -Adressen. Die Loopback -Adresse von IPv6 ist 0: 0: 0: 0: 0: 0: 0: 0: 1, oder sie kann als :: 1 abgekürzt werden. Wie in der folgenden Befehlszeile gezeigt:
Ping 127.200.200.200
Auslaufergebnisse:
Reply from 127.0.0.1: bytes=32 time<1ms TTL=128 (Note: 127.200.200.200 under win7)Reply from 127.0.0.1: bytes=32 time<1ms TTL=128Reply from 127.0.0.1: bytes =32 time< 1ms Ttl = 128reply von 127.0.0.1: Bytes = 32 Zeit <1ms ttl = 128ping Statistiken für 127.200.200.200: Pakete: gesendet = 4, erhaltene = 4, verloren = 0 (0% Verlust), ungefähre Rundumlaufzeiten in Million- in Million- Sekunden: Minimum = 0 ms, maximal = 0 ms, Durchschnitt = 0 ms
Obwohl 127.255.255.255 auch eine Loopback -Adresse ist, kann 127.255.255.255 nicht unter Windows pinged werden. Dies liegt daran, dass 127.255.255.255 eine Sendungsadresse ist.
III
Rückgabe true, wenn die IP -Adresse die lokale Verbindungsadresse (linkLocaladdress) ist, ansonsten beträgt der Bereich der lokalen Verbindungsadresse von IPv4 169.254.0.0 ~ 169.254.255.255. Bits kann es ein willkürlicher Wert wie Fe88: und Fe80 :: ABCD :: sind alle lokale Verbindungsadressen.
IV
Return true Wenn die IP -Adresse die lokale Adresse der Region ist (sitelocaladdress), ansonsten ist die Adresse der Adresse, die False.IPV4 zurückgibt. 192.168.0.0 ~ 192 .168.
5. Ismulticastaddress -Methode
RECHT TRUE, wenn die IP -Adresse eine Broadcast -Adresse ist (MulticastAddress), ansonsten können Informationen über die Broadcast -Adresse an alle Computer im Netzwerk gesendet werden und nicht an nur einen bestimmten Computer. Die Sendung von IPv4 beträgt 224.0.0.0 ~ 239.255.255.255.255.255. Details zu Broadcast -Adressen werden in zukünftigen Kapiteln erörtert.
6. Ismcglobal -Methode
Return true, wenn die IP -Adresse eine globale Broadcast -Adresse ist, andernfalls kann die globale Broadcast -Adresse Informationen an alle Computer im Internet senden. Die IPv4 -Broadcast -Adresse ist eine globale Broadcast -Adresse mit Ausnahme der IP -Adresse 224.0.0.0 und das erste Byte ist 239. Das erste Byte in der globalen Broadcast -Adresse von IPv6 ist FF, das zweite Byte ist 0e ~ fe und die anderen Bytes können jeder Wert sein, wie z. B. ffbe :: und ff0e :: sind alle global Broadcast -Adresse.
7. IsmclinkLocal -Methode
Rückgabe true, wenn die IP -Adresse die Subnetz -Sendungsadresse ist, andernfalls können die Subnetz -Adresse nur Informationen im Subnetz an die Computer senden. Die Subnetz -Subnetz -Adresse von IPv4 beträgt 224.0.0.0 ~ 224.0.0.255. :: und ff02: ABCD :: sind alle Subnetzübertragungsadressen.
8. Ismcnodelocal -Methode
Rückgabe true Wenn die IP -Adresse die lokale Schnittstellen -Sendungsadresse ist, gibt sie ansonsten false zurück. Alle IPv4 -Broadcast -Adressen sind keine lokalen Schnittstellen -Broadcast -Adressen. Das erste Byte der lokalen Schnittstellenübertragungsadresse von IPv6 ist FF, der Bereich des zweiten Byte beträgt 01 ~ F1, und die anderen Bytes können jeder Wert sein, wie z. B. FFB1 :: und FF01: A123 :: sind alle lokalen Schnittstellen. Rundfunkanschrift.
9. IsmcorGlocal -Methode
Gibt ture zurück, wenn die IP-Adresse eine organisationsweite Broadcast-Adresse ist, ansonsten wird die organisationsweite Broadcast-Adresse verwendet, um Sendungsinformationen an alle Computer innerhalb des Unternehmens oder Unternehmens zu senden. Das erste Byte der organisationsweiten Broadcast-Adresse von IPv4 ist 239, das zweite Byte ist mindestens 192 und das dritte Byte ist nicht größer als 195. Zum Beispiel 239.193.100.200 und 239.192.195.0 sind alle organisationsweite Übertragung Adressen. Das erste Byte der organisationsweiten Broadcast-Adresse von IPv6 ist FF, der Bereich des zweiten Byte beträgt 08 ~ F8, und die anderen Bytes können beliebige Wert sein, wie FF08 :: und FF48 :: sind alle organisationsweite Sendungen . Adresse.
10. IsmcSitelocal -Methode
Geben Sie true zurück, wenn die IP-Adresse eine ortsweite Broadcast-Adresse ist, ansonsten Falsch. Die Sortimentsbereich von IPv4 beträgt 239.255.0.0 ~ 239.255.255.255.255. Das erste Byte der IPv6-Sortimentsadresses ist FF, der Bereich des zweiten Bytes beträgt 05 ~ F5, und die anderen Bytes können beliebige Wert sein, wie FF05 :: und FF45 :: sind alle seitenweite Sendungen. Adresse.
Der folgende Code kann bestimmen, ob sich eine IP -Adresse im Bereich der oben genannten zehn Adressarten befindet:
Pakettest; Java.net.*; Importieren Sie Java.Lang.reflect = InetadDress.getBame (args [0]); Matches ("is.*") && method.getParameterTypes (). Länge == 0) {if (boolean.parseboolean (method.invoke (adresse) .toString ()) system.out.println (methode.g etname ( ) + "= true"); Test 1
Führen Sie den folgenden Befehl aus:
Java test.mynet 224.0.0.1
Auslaufergebnisse:
ismclinkLocal = truismulticastaddress = true
Test 2
Führen Sie den folgenden Befehl aus:
Java test.mynet FFB1 ::
Auslaufergebnisse:
ismcnodelocal = true ismulticastaddress = true