La clase InetAddress
proporciona objetos que puedes utilizar para manipular tanto direcciones IP como nombres de dominio. También proporciona métodos para resolver los nombres de host a sus direcciones IP y viceversa.
Una instancia de InetAddress
consta de una dirección IP y en algunos casos también del nombre de host asociado. Esto último depende de si se ha creado con el nombre de host o bien ya se ha aplicado la resolución de nombres.
Esta clase no tiene constructores. Sin embargo, InetAddress
dispone de métodos estáticos que devuelven objetos InetAddress
. Te indicamos cuáles son esos métodos:
getLocalHost()
. Devuelve un objeto de tipoInetAddress
con los datos de direccionamiento de mi equipo en la red local (no del conocidolocalhost
).getByName(String host)
. Devuelve un objeto de tipoInetAddress
con los datos de direccionamiento del host que le pasamos como parámetro. Donde el parámetrohost
tiene que ser un nombre o IP válido, ya sea de Internet (comoiesalandalus.org
o195.78.228.161
), o de tu red de área local (comodocumentos.servidor
o192.168.0.5
). Incluso puedes ponerlocalhost
, o cualquier otra IP o nombre NetBIOS de tu red local.getAllByName(String host)
. Devuelve unarray
de objetos de tipoInetAddress
con los datos de direccionamiento del host pasado como parámetro. Recuerda que en Internet es frecuente que un mismo dominio tenga a su disposición más de una IP.
Todos estos métodos pueden generar una excepción UnknownHostException
si no pueden resolver el nombre pasado como parámetro.
Algunos métodos interesantes de un objeto InetAddress
para resolver nombres son los siguientes:
getHostAddress()
. Devuelve en una cadena de texto la correspondiente IP.getAddress()
. Devuelve unarray
formado por los grupos de bytes de la IP correspondiente.
Otros métodos interesantes de esta clase son:
getHostName()
. Devuelve en una cadena de texto el nombre del host.isReachable(int tiempo)
. Devuelve TRUE o FALSE dependiendo de si la dirección es alcanzable en el tiempo indicado en el parámetro.
En el siguiente enlace tienes un ejemplo de uso de InetAddress
. Con este ejemplo tratamos de ilustrar el uso de los métodos anteriores para resolver algunos nombres a su dirección o direcciones IP, tanto en la red local como en Internet. Por ello, para probarlo, debes tener conexión a Internet, en otro caso sólo se ejecutará la parte relativa a la red local, y se lanzará la correspondiente excepción al intentar resolver nombres de Internet.
InetAddress
(0.01 MB)