clase pública InetAddress extiende Object implementa Serializable:
La clase java.net.InetAddress proporciona métodos para obtener la dirección IP de cualquier nombre de host. Una dirección IP está representada por un número sin signo de 32 o 128 bits. InetAddress puede manejar direcciones IPv4 e IPv6.
Hay 2 tipos de direcciones:
- Unidifusión: un identificador para una única interfaz.
- Multidifusión: un identificador para un conjunto de interfaces.
InetAddress – Métodos de fábrica:
La clase InetAddress se usa para encapsular tanto la dirección IP numérica como el nombre de dominio para esa dirección. La clase InetAddress no tiene constructores visibles. La clase InetAddress tiene la incapacidad de crear objetos directamente, por lo tanto, los métodos de fábrica se utilizan para este propósito. Los métodos de fábrica son métodos estáticos en una clase que devuelven un objeto de esa clase.
Hay 5 métodos de fábrica disponibles en la clase InetAddress:
Método | Descripción |
---|---|
static InetAddress getLocalHost() lanza UnknownHostException | Este método devuelve la instancia de InetAddress que contiene el nombre de host y la dirección locales. |
InetAddress estático público getByName (String host) lanza UnknownHostException | Este método devuelve la instancia de InetAddress que contiene la IP y el nombre de LocalHost. |
static InetAddress[] getAllByName( String hostName ) lanza UnknownHostException | Este método devuelve la array de la instancia de la clase InetAddress que contiene direcciones IP. |
static InetAddress getByAddress( byte IPAddress[] ) lanza UnknownHostException | Este método devuelve un objeto InetAddress creado a partir de la dirección IP sin procesar. |
static InetAddress getByAddress( String hostName, byte IPAddress[] ) lanza UnknownHostException | Este método crea y devuelve una InetAddress basada en el nombre de host y la dirección IP proporcionados. |
A continuación se muestra la implementación de Java de la clase InetAddress para demostrar el uso de métodos de fábrica:
Java
import java.io.*; import java.net.*; import java.util.*; class GFG { public static void main(String[] args) throws UnknownHostException { // To get and print InetAddress of Local Host InetAddress address1 = InetAddress.getLocalHost(); System.out.println("InetAddress of Local Host : " + address1); // To get and print InetAddress of Named Host InetAddress address2 = InetAddress.getByName("45.22.30.39"); System.out.println("InetAddress of Named Host : " + address2); // To get and print ALL InetAddresses of Named Host InetAddress address3[] = InetAddress.getAllByName("172.19.25.29"); for (int i = 0; i < address3.length; i++) { System.out.println( "ALL InetAddresses of Named Host : " + address3[i]); } // To get and print InetAddresses of // Host with specified IP Address byte IPAddress[] = { 125, 0, 0, 1 }; InetAddress address4 = InetAddress.getByAddress(IPAddress); System.out.println( "InetAddresses of Host with specified IP Address : " + address4); // To get and print InetAddresses of Host // with specified IP Address and hostname byte[] IPAddress2 = { 105, 22, (byte)223, (byte)186 }; InetAddress address5 = InetAddress.getByAddress( "gfg.com", IPAddress2); System.out.println( "InetAddresses of Host with specified IP Address and hostname : " + address5); } }
InetAddress of Local Host : localhost/127.0.0.1 InetAddress of Named Host : /45.22.30.39 ALL InetAddresses of Named Host : /172.19.25.29 InetAddresses of Host with specified IP Address : /125.0.0.1 InetAddresses of Host with specified IP Address and hostname : gfg.com/105.22.223.186
InetAddress — Métodos de instancia:
La clase InetAddress tiene muchos métodos de instancia que se pueden llamar usando el objeto. Los métodos de instancia son:
Método | Descripción |
---|---|
es igual a (Objeto obj) | Esta función compara este objeto con el objeto especificado. |
obtenerDirección() | Este método devuelve la dirección IP sin formato de este objeto InetAddress, en bytes. |
getCanonicalHostName() | Este método devuelve el nombre de dominio completo para esta dirección IP. |
getHostAddress() | Este método obtiene la dirección IP en forma de string. |
getHostName() | Este método devuelve el nombre de host para esta dirección IP. |
código hash() | Este método obtiene un código hash para esta dirección IP. |
esCualquierDirecciónLocal() | Esta rutina de utilidad de método para verificar si InetAddress es una dirección impredecible. |
isLinkLocalAddress() | Esta rutina de utilidad de método para verificar si la dirección no está vinculada a la dirección de unidifusión local. |
isLoopbackAddress() | Este método solía verificar si InetAddress representa una dirección de bucle invertido. |
esMCGlobal() | Esta rutina de utilidad de método verifica si esta dirección tiene una dirección de multidifusión de alcance global. |
esMCLinkLocal() | Esta rutina de utilidad de método verifica si esta dirección tiene una dirección de multidifusión de alcance local de enlace. |
esMCNodeLocal() | Esta rutina de utilidad de método verifica si la dirección de multidifusión tiene alcance de Node. |
esMCOrgLocal() | Esta rutina de utilidad de método verifica si la dirección de multidifusión tiene un alcance de organización. |
esMCSitioLocal() | Esta rutina de utilidad de método verifica si la dirección de multidifusión tiene alcance de sitio. |
es una dirección de multidifusión() | Este método comprueba si el sitio tiene varios servidores. |
isReachable (tiempo de espera int) | Este método prueba si esa dirección es accesible. |
isReachable(Interfaz de red netif, ttl int, tiempo de espera int) | Este método prueba si esa dirección es accesible. |
esDirecciónLocaldelSitio() | Esta rutina de utilidad de método verifica si InetAddress es una dirección local del sitio. |
Enstringr() | Este método convierte y devuelve una dirección IP en forma de string. |
A continuación se muestra la implementación de Java de la clase InetAddress para demostrar el uso de métodos de instancia:
Java
import java.io.*; import java.net.*; import java.util.*; class GFG { public static void main(String[] args) throws UnknownHostException { InetAddress address1 = InetAddress.getByName("45.22.30.39"); InetAddress address2 = InetAddress.getByName("45.22.30.39"); InetAddress address3 = InetAddress.getByName("172.19.25.29"); // true, as clearly seen above System.out.println( "Is Address-1 equals to Address-2? : " + address1.equals(address2)); // false System.out.println( "Is Address-1 equals to Address-3? : " + address1.equals(address3)); // returns IP address System.out.println("IP Address : " + address1.getHostAddress()); // returns host name, // which is same as IP // address in this case System.out.println( "Host Name for this IP Address : " + address1.getHostName()); // returns address in bytes System.out.println("IP Address in bytes : " + address1.getAddress()); // false, as the given site // has only one server System.out.println("Is this Address Multicast? : " + address1.isMulticastAddress()); System.out.println("Address in string form : " + address1.toString()); // returns fully qualified // domain name for this IP address. System.out.println( "Fully qualified domain name for this IP address : " + address1.getCanonicalHostName()); // hashcode for this IP address. System.out.println("Hashcode for this IP address : " + address1.hashCode()); // to check if the InetAddress is // an unpredictable address.. System.out.println( "Is the InetAddress an unpredictable address? : " + address1.isAnyLocalAddress()); } }
Is Address-1 equals to Address-2? : true Is Address-1 equals to Address-3? : false IP Address : 45.22.30.39 Host Name for this IP Address : 45.22.30.39 IP Address in bytes : [B@579bb367 Is this Address Multicast? : false Address in string form : 45.22.30.39/45.22.30.39 Fully qualified domain name for this IP address : 45.22.30.39 Hashcode for this IP address : 756424231 Is the InetAddress an unpredictable address? : false
Publicación traducida automáticamente
Artículo escrito por vanshitatwr620 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA