Clase Java.net.InterfaceAddress en Java

Esta clase representa una dirección de interfaz de red. Cada dispositivo que tiene una dirección IP tiene una dirección IP en la interfaz de red. De hecho, el comando ping no hace ping a un dispositivo sino a la dirección de la interfaz del dispositivo. Java proporciona ciertos métodos para manejar direcciones de interfaz que se pueden usar en lugares donde se necesita conocer la topología de la red, para la detección de fallas en una red, etc.
Métodos: 
 

  1. getAddress() : Devuelve una InetAddress para esta dirección. 
     
Syntax : public InetAddress getAddress()
  1. getBroadcast() : Devuelve la InetAddress para la dirección de transmisión para esta dirección de interfaz. Como solo las direcciones IPv4 tienen direcciones de transmisión, se devolvería un valor nulo al usar una dirección IPv6. 
     
Syntax :public InetAddress getBroadcast()
  1. getNetworkPrefixLength() : Devuelve la longitud del prefijo para esta dirección de interfaz, es decir, la máscara de subred para esta dirección. 
     
Syntax :public short getNetworkPrefixLength()
  1. equals() : se utiliza para comparar el objeto especificado con esta dirección de interfaz. Devuelve verdadero solo si el objeto dado no es nulo y representa la misma dirección de interfaz que este objeto. 
     
Syntax :public boolean equals(Object obj)
Parameters :
obj : obj to compare with
  1. hashCode() : Devuelve el código hash para esta dirección de interfaz. 
     
Syntax :public int hashCode()
  1. toString() : Devuelve una representación de string de esta dirección de interfaz. La string tiene la forma: dirección de interfaz/longitud del prefijo. 
     
Syntax :public String toString()

Implementación Java: 
 

Java

// Java program to illustrate methods of
// Java.net.InterfaceAddress class
import java.net.InterfaceAddress;
import java.net.NetworkInterface;
import java.net.SocketException;
import java.util.List;
 
public class interfaceaddress
{
    public static void main(String[] args) throws SocketException
    {
        // Modify according to your system
        NetworkInterface nif = NetworkInterface.getByIndex(1);
        List<InterfaceAddress> list = nif.getInterfaceAddresses();
 
        for (InterfaceAddress iaddr : list)
        {
 
            // getAddress() method
            System.out.println("getAddress() : " + iaddr.getAddress());
 
            // getBroadcast() method
            System.out.println("getBroadcast() : " + iaddr.getBroadcast());
 
            // getNetworkPrefixLength() method
            System.out.println("PrefixLength : " + iaddr.getNetworkPrefixLength());
 
            // hashCode() method
            System.out.println("Hashcode : " + iaddr.hashCode());
 
            // toString() method
            System.out.println("toString() : " + iaddr.toString());
 
            System.out.println("--------------------\n");
        }
    }
 
}

Producción : 
 

getAddress() : /127.0.0.1
getBroadcast() : /127.255.255.255
PrefixLength : 8
Hashcode : -16777208
toString() : /127.0.0.1/8 [/127.255.255.255]
--------------------

getAddress() : /0:0:0:0:0:0:0:1
getBroadcast() : null
PrefixLength : 128
Hashcode : 129
toString() : /0:0:0:0:0:0:0:1/128 [null]
--------------------

Modifique el índice en el método getbyIndex() en el programa anterior, ya que la interfaz de red en el índice 1 podría ser nula en su sistema. Para obtener más detalles sobre este método, consulte la clase java.net.NetworkInterface  
Referencias:  
documentación oficial de Java 
Este artículo es una contribución de Rishabh Mahrsee . 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 *