Heim  >  Artikel  >  Java  >  Java InetAddress

Java InetAddress

PHPz
PHPzOriginal
2024-08-30 15:39:39860Durchsuche

Die Java-InetAddress wird zur Angabe einer IP-Adresse verwendet. Die IP-Adresse ist eine eindeutige numerische Bezeichnung, die der Maschine in einem Netzwerk zugewiesen wird. Die IP-Adresse wird in 32 Bit für IPv4 und 128 Bit für IPv6-Adresse angegeben. Eine Instanz von InetAddress gibt eine IP-Adresse an, die ein Hostname ist, basierend darauf, ob bei der Erstellung eine Hostnamensauflösung durchgeführt wurde. Es gibt zwei Arten von Adressen: Unicast und Multicast. Eine einzelne Schnittstelle wird anhand der Unicast-Adresse identifiziert, und eine Reihe von Schnittstellen wird anhand der Multicast-Adresse identifiziert.

Starten Sie Ihren kostenlosen Softwareentwicklungskurs

Webentwicklung, Programmiersprachen, Softwaretests und andere

Die InetAddress-Klasse in Java ist im java.net.InetAddress-Paket von Java erstellt.

Die InetAddress-Klasse kann verwendet werden, um die IP-Adresse eines beliebigen Hosts wie www.educba.com, www.google.com und alle abzurufen. Die häufig verwendete IP-Adresse ist IPv4 für „Version 4“. Betrachten Sie ein Beispiel für eine IP-Adresse, die wie folgt aussehen könnte: –

65.172.248.170

Die obige Adresse enthält vier Zahlen, und jede Zahl besteht aus drei Ziffern, die durch „.“ (einzelner Punkt) getrennt sind. Der Bereich für jede der vier Zahlen liegt zwischen 0 und 255.

InetAddress-Klassenmitgliedsfunktionen

Die InetAddress-Klasse enthält keinen Konstruktor, sondern eine Funktion als Mitgliedsfunktion der InetAddress-Klasse.

Member-Funktionen von Java InetAddress Klasse

  1. public static InetAddressgetByAddress(String host, byte[] addr) throws UnknownHostException – Diese statische Funktion gibt das Objekt von InetAddress zurück, das den Hostnamen und die IP-Adresse als übergebenen Parameter enthält. Der Host-Parameter kann eine IP-Adresse im String-Format oder ein Maschinenname wie www.educba.com sein.
  2. public static InetAddressgetByName(String host) – Diese statische Funktion gibt das Objekt von InetAddress des angegebenen Hosts zurück. Wobei der Parameter Host angegeben ist hostname.
  3. public static InetAddress[] getAllByName(String host) – Diese statische Funktion gibt ein Array von InetAddress-Objekten des angegebenen Hosts zurück.
  4. public static InetAddressgetLoopbackAddress() – Diese statische Funktion gibt das Objekt von InetAddress vom Typ Loopback zurück.
  5. öffentliche statische InetAddressgetLocalHost() löst UnknownHostException aus – Diese statische Funktion gibt das Objekt der InetAddress des lokalen Hosts zurück.
  6. public byte[] getAddress() – Diese Funktion gibt eine IP-Adresse des InetAddress-Objekts als Array zurück. Array-Speicher-IP-Adresse in Byte-Reihenfolge erscheint wie in IP-Adresse.
  7. public String getHostAddress() – Diese Funktion gibt die IP-Adresse im String-Format zurück.
  8. public boolean isReachable(int timeout)throws IOException – Diese Funktion gibt „true“ zurück, wenn die IP-Adresse erreichbar ist, während der Parameter „timeout“ die Zeit angibt, nach der der Anruf abgebrochen werden soll und zu „false“ führen soll Wert.
  9. public boolean isReachable(NetworkInterfacenetif, intttl, int timeout) löst eine IOException aus – Diese Funktion ist von der isReachable()-Funktion überlastet. Dabei stellt netif die Netzwerkschnittstelle dar, die zur Überprüfung der Erreichbarkeit verwendet werden soll, ttl stellt die Anzahl der Sprünge dar, die das Echo-Paket vor dem Verlassen des Netzwerks durchführt, und da der Timeout-Parameter die Zeit danach angibt, soll der Anruf abgebrochen werden.
  10. public String getHostName() – Diese Funktion gibt den Hostnamen der IP-Adresse zurück.
  11. public String getCanonicalHostName() – Diese Funktion gibt den vollständig qualifizierten Domänennamen der IP-Adresse zurück.
  12. public String toString() – Diese Funktion stellt eine IP-Adresse im String-Format dar.
  13. public boolean isAnyLocalAddress()– Diese Funktion gibt „true“ zurück, wenn die InetAddress-Objektadresse eine lokale Adresse ist.
  14. public boolean isLinkLocalAddress() – Diese Funktion gibt „true“ zurück, wenn die InetAddress-Objektadresse eine verbindungslokale Adresse ist.
  15. public boolean isLoopbackAddress() – Diese Funktion gibt „true“ zurück, wenn die InetAddress-Objektadresse eine Loopback-Adresse ist.
  16. public boolean isMCGloabal() – Diese Funktion gibt „true“ zurück, wenn die IP-Multicast-Adresse einen globalen Gültigkeitsbereich hat.
  17. public boolean isMCLinkLocal() – Diese Funktion gibt „true“ zurück, wenn die IP-Multicast-Adresse einen Link-Bereich hat.
  18. public boolean isMCNodeLocal() – Diese Funktion gibt „true“ zurück, wenn die IP-Multicast-Adresse einen Knotenbereich hat.
  19. public boolean isMCOrgLoacal() – Diese Funktion gibt „true“ zurück, wenn die IP-Multicast-Adresse einen Organisationsbereich hat.
  20. public boolean isMCSiteLocal() – Diese Funktion gibt „true“ zurück, wenn die IP-Multicast-Adresse den Standortbereich hat.
  21. public boolean isMulticastAddress() – Diese Funktion gibt „true“ zurück, wenn die IP-Adresse eine Multicast-Adresse ist, deren erste vier Bits 1110 sind.
  22. public boolean isSiteLocalAddress()– Diese Funktion gibt „true“ zurück, wenn IPaddress eine standortlokale Adresse ist.
  23. public int hashCode() – Diese Funktion gibt den IP-Adress-Hashcode zurück.
  24. public boolean equals(Object obj) – Diese Funktion gibt true zurück, wenn die IP-Adresse mit der übergebenen IP-Adresse übereinstimmt.

Beispiele für die InetAddress-Klasse in Java

Als nächstes schreiben wir den Java-Code, um die InetAddress-Klasse anhand des folgenden Beispiels besser zu verstehen, in dem wir ein InetAddress-Objekt erstellen, indem wir die URL und einige der oben erläuterten Funktionen in diesem Objekt verwenden –

Beispiel #1

Code:

import java.io.IOException;
import java.util.Arrays;
import java.net.InetAddress;
public class Demo
{
public static void main( String[] arg) throws IOException
{
InetAddress ip = InetAddress.getByName("www.educba.com");
byte addr[] = { 65, 2, 0, 1};
System.out.print("iptoString : " + ip.toString());
System.out.print("\ngetAllByName : " + ip.getAllByName("www.educba.com"));
InetAddress ips[] = InetAddress.getAllByName("www.educba.com");
System.out.println("IP Address");
for (InetAddress add:ips)
System.out.println(add.getHostAddress());
// function getByName()
System.out.print("\ngetByName : " + ip);
// function getByAddress()
System.out.print("\ngetByAddress : " +InetAddress.getByAddress(addr));
// function getLocalHost()
System.out.print("\ngetLocalHost : " +InetAddress.getLocalHost());
// function getLoopbackAddress()
System.out.print("\ngetLoopbackAddress : " +InetAddress.getLoopbackAddress());
// function getAllByName() which returns all ip addresses of google.com
System.out.print("\nGoogleip addresses : " + Arrays.toString(InetAddress.getAllByName("www.google.com")));
// function isReachable()
System.out.print("\nip address isReachable : " +ip.isReachable(50));
// function getHostname()
System.out.print("\nip address hostname :" +ip.getHostName());
// function getCanonicalHostname()
System.out.print("\nip address CanonicalHostname : " + ip.getCanonicalHostName());
}
}

Ausgabe:

Java InetAddress

Als nächstes schreiben wir den Java-Code für die InetAddress-Klasse, wo wir die verbleibende boolesche Funktion auf das InetAddress-Objekt anwenden –

Beispiel #2

Code:

import java.net.Inet4Address;
import java.util.Arrays;
import java.net.InetAddress;
public class Demo
{
public static void main(String[] arg) throws Exception
{
InetAddress ip =  Inet4Address.getByName("www.educba.com");
InetAddress ip1[] = InetAddress.getAllByName("www.educba.com");
byte addr[]={68, 5, 2, 12};
System.out.println("ip : "+ip);
System.out.print("\nip1 : "+ip1);
InetAddress ip2 =  InetAddress.getByAddress(addr);
System.out.print("\nip2 : "+ip2);
System.out.print("\nAddress : " +Arrays.toString(ip.getAddress()));
System.out.print("\nHost Address : " +ip.getHostAddress());
System.out.print("\nisAnyLocalAddress : " +ip.isAnyLocalAddress());
System.out.print("\nisLinkLocalAddress : " +ip.isLinkLocalAddress());
System.out.print("\nisLoopbackAddress : " +ip.isLoopbackAddress());
System.out.print("\nisMCGlobal : " +ip.isMCGlobal());
System.out.print("\nisMCLinkLocal : " +ip.isMCLinkLocal());
System.out.print("\nisMCNodeLocal : " +ip.isMCNodeLocal());
System.out.print("\nisMCOrgLocal : " +ip.isMCOrgLocal());
System.out.print("\nisMCSiteLocal : " +ip.isMCSiteLocal());
System.out.print("\nisMulticastAddress : " +ip.isMulticastAddress());
System.out.print("\nisSiteLocalAddress : " +ip.isSiteLocalAddress());
System.out.print("\nhashCode : " +ip.hashCode());
System.out.print("\n Is ip1 == ip2 : " +ip.equals(ip2));
}
}

Ausgabe:

Java InetAddress

Fazit

InetAddress ist eine in Java integrierte Klasse, die im Paket java.net.InetAddress verfügbar ist. Es wird verwendet, um die IP-Adresse der Maschine in einem Netzwerk anzugeben. Die oben besprochene Methode kann verwendet werden, um weitere Informationen zu einer IP-Adresse zu erhalten.

Das obige ist der detaillierte Inhalt vonJava InetAddress. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:Java KeyStoreNächster Artikel:Java KeyStore