Clase java.net.InetAddress en Java

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:

  1. Unidifusión: un identificador para una única interfaz.
  2. 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);
    }
}
Producción

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());
    }
}
Producción

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

Deja una respuesta

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