Clase InetAddress en Java

 Una dirección IP es una dirección que tiene información sobre cómo llegar a un host específico, que es un número de dirección único de 32 bits que tiene un espacio de direcciones de 2^32. La clase InetAddress es una representación de una dirección IP. Representa tanto la dirección IPv4 de 32 bits como la dirección IPv6 de 128 bits. Es la superclase de las clases Inet6Address e Inet4Address. Una instancia de esta clase consta de una dirección IP y, por lo general, un nombre de host, según si se realizó la resolución del nombre de host durante la creación. 

Nota: No hay constructores para esta clase, sino métodos estáticos que devuelven instancias de la clase InetAddress para uso general.

Métodos de la clase InetAddress

Método Acción realizada
es igual()  Devuelve verdadero si esta dirección IP es la misma que la del objeto especificado. El método Equals() no considera los nombres de host al comparar y solo considera la dirección IP asociada. 
obtenerDirección() Devuelve la dirección IP sin procesar de este objeto InetAddress como una array. El orden en que aparecen los bytes en una array es el mismo que en la dirección IP, es decir, getAddress[0] contendrá el byte de mayor orden. 
getByAddress() Cree un objeto InetAddress. Toma el nombre de host y la dirección IP como su parámetro. El nombre de host puede ser el nombre de la máquina como en «www.geeksforgeeks.org» o su dirección IP textual. 
obtenerPorNombre() Devuelve la dirección IP del host especificado. Si el host es una dirección IP literal, solo se verifica su validez.
obtenerTodoPorNombre() Devuelve una array de direcciones IP para el host dado
getLoopbackAddress() Devuelve la dirección de loopback
getHostAddress() Devuelve la dirección IP en forma de texto.
getHostName() Devuelve el nombre de host para esta dirección IP. Si este objeto se creó con un nombre de host, se devuelve; de ​​lo contrario, se realiza una búsqueda inversa para devolver el nombre de host configurado por el sistema. 
getLocalHost() Devuelve la dirección IP del host local. 
getCanonicalHostName() Devuelve el nombre de dominio completo para este objeto. Si este objeto se creó con un nombre de host, se devuelve; de ​​lo contrario, se realiza una búsqueda inversa para devolver el nombre de host configurado por el sistema. 
código hash() Devuelve el código hash asociado con este objeto de dirección. 
esCualquierDirecciónLocal() Devuelve verdadero si esta dirección representa una dirección local.
isLinkLocalAddress() Devuelve verdadero si esta dirección es una dirección local de vínculo.
isLoopbackAddress() Devuelve verdadero si esta dirección es una dirección de bucle invertido.
esMCGlobal() Devuelve verdadero si esta dirección de multidifusión tiene alcance global. 
esMCLinkLocal() Devuelve verdadero si esta dirección de multidifusión tiene alcance de enlace. 
esMCNodeLocal() Devuelve verdadero si esta dirección de multidifusión tiene alcance de Node. 
esMCOrgLocal() Devuelve verdadero si esta dirección de multidifusión tiene alcance de organización. 
 esMCSitioLocal() Devuelve verdadero si esta dirección de multidifusión tiene ámbito de sitio. 
es una dirección de multidifusión() Devuelve verdadero si esta dirección es una dirección IP de multidifusión. Las direcciones de multidifusión tienen 1110 como sus primeros 4 bits.
es accesible() Devuelve verdadero si esta dirección es accesible. Las requests de eco ICMP se utilizan si se puede otorgar permiso; de lo contrario, el host intenta establecer una conexión TCP en el puerto 7 del destino. Este método se usa generalmente como una condición previa en varios programas, para evitar excepciones de host inalcanzable en el futuro.
 es accesible() Especifique la interfaz de red que se usará al verificar la accesibilidad y el parámetro ttl especifica la cantidad de saltos que hace el paquete de eco antes de salir de la red.
esDirecciónLocaldelSitio() Devuelve verdadero si esta dirección es una dirección local del sitio.
Enstringr()  Convierte la dirección IP en la string. Devuelve el resultado como nombre de host/dirección IP.

Ejemplo:

Java

// Java Program to Illustrate Methods of Inetaddress Class
 
// Importing required classes
import java.net.Inet4Address;
import java.net.InetAddress;
import java.net.UnknownHostException;
import java.util.Arrays;
 
// Main class
public class GFG {
 
    // Main driver method
    public static void main(String[] args)
        throws UnknownHostException
    {
 
        // Input URL
        String url = "www.geeksforgeeks.org";
        byte addr[] = { 127, 0, 0, 1 };
 
        InetAddress ip1 = Inet4Address.getByName(url);
        InetAddress ip2 = InetAddress.getByAddress(addr);
 
        // Following methods checks the property
        // of the thus created object
 
        // getAddress() method
        System.out.println(
            "Address : "
            + Arrays.toString(ip1.getAddress()));
 
        // getHostAddress() method
        System.out.println("Host Address : "
                           + ip1.getHostAddress());
 
        // isAnyLocalAddress() method
        System.out.println("isAnyLocalAddress : "
                           + ip1.isAnyLocalAddress());
 
        // isLinkLocalAddress() method
        System.out.println("isLinkLocalAddress : "
                           + ip1.isLinkLocalAddress());
 
        // isLoopbackAddress() method
        System.out.println("isLoopbackAddress : "
                           + ip1.isLoopbackAddress());
 
        // isMCGlobal() method
        System.out.println("isMCGlobal : "
                           + ip1.isMCGlobal());
 
        // isMCLinkLocal() method
        System.out.println("isMCLinkLocal : "
                           + ip1.isMCLinkLocal());
 
        // isMCNodeLocal() method
        System.out.println("isMCNodeLocal : "
                           + ip1.isMCNodeLocal());
 
        // isMCOrgLocal() method
        System.out.println("isMCOrgLocal : "
                           + ip1.isMCOrgLocal());
 
        // isMCSiteLocal() method
        System.out.println("isMCSiteLocal : "
                           + ip1.isMCSiteLocal());
 
        // isMulticastAddress() method
        System.out.println("isMulticastAddress : "
                           + ip1.isMulticastAddress());
 
        // isSiteLocalAddress() method
        System.out.println("isSiteLocalAddress : "
                           + ip1.isSiteLocalAddress());
 
        // hashCode() method
        System.out.println("hashCode : " + ip1.hashCode());
 
        // equals() method
        System.out.println("ip1==ip2 : " + ip1.equals(ip2));
    }
}

Producción:

Ejemplo 2:

Java

// Java Program to Illustrate Methods of Inetaddress Class
 
// Importing required classes
import java.io.IOException;
import java.net.InetAddress;
import java.util.Arrays;
 
// Main class
public class GFG {
 
    // Main driver method
    public static void main(String[] args)
        throws IOException
    {
 
        // Input sample URL
        String url = "www.geeksforgeeks.org";
        byte addr[] = { 127, 0, 0, 1 };
 
        // getByName() method
        InetAddress ip1 = InetAddress.getByName(url);
        System.out.println("getByName() : " + ip1);
 
        // getByAddress() method
        InetAddress ip2 = InetAddress.getByAddress(addr);
        System.out.println("getByAddress() : " + ip2);
 
        // getLocalHost() method
        InetAddress ip3 = InetAddress.getLocalHost();
        System.out.println("getLocalHost() : " + ip3);
 
        // getLoopbackAddress() method
        InetAddress ip4 = InetAddress.getLoopbackAddress();
        System.out.println("getLoopbackAddress() : " + ip4);
 
        // getAllByName() method
        // Returns all ip addresses associated with
        // 'google.com'
        InetAddress addrs[]
            = InetAddress.getAllByName("www.google.com");
        System.out.println("Google ip addresses : "
                           + Arrays.toString(addrs));
 
        // isReachable() method
        boolean isreach = ip1.isReachable(50);
        System.out.println("ip1 isReachable() : "
                           + isreach);
 
        // getHostname() method
        String hostname = ip1.getHostName();
        System.out.println("ip1 hostname :" + hostname);
 
        // getCanonicalHostname() method
        System.out.println("ip1 CanonicalHostname : "
                           + ip1.getCanonicalHostName());
 
        // toString() method
        System.out.println("ip1 toString() : "
                           + ip1.toString());
    }
}

Producción:

 

Implementación: el siguiente programa usa la clase InetAddress para obtener la dirección IP del nombre de dominio dado. Cuando el programa se ejecuta en un sistema conectado a Internet, proporciona la(s) dirección(es) IP del dominio proporcionado.

Ejemplo:

Java

// Java program to Demonstrate Working of InetAddress Class
// by Finding IP address for a Domain Name
 
// Importing required classes
import java.net.*;
 
// Main class
// GetIPAddress
public class GFG {
 
    // Main driver method
    public static void main(String args[]) throws Exception
    {
 
        // Input sample URL
        String url = "www.google.com";
 
        // Try block to check for exceptions
        try {
 
            // Getting IP addresses related to the domain
            InetAddress ips[]
                = InetAddress.getAllByName(url);
 
            // Displaying IP addresses
            System.out.println("IP Address(es)");
 
            for (InetAddress addr : ips)
                System.out.println(addr.getHostAddress());
        }
 
        // Catch block to handle exceptions
        catch (Exception ex) {
 
            // Display message if exception occurs
            System.out.println("host not found");
        }
    }
}

Producción:

Este artículo es una contribución de Rishabh Mahrsee y Aparna Vadlamani . Si te gusta GeeksforGeeks y te gustaría contribuir, también puedes escribir un artículo usando write.geeksforgeeks.org o enviar tu artículo por correo a review-team@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks. Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.

Publicación traducida automáticamente

Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *