Java » Obtener el nombre e IP del servidor con Java
La clase InetAddress es la clase Java que nos permite obtener el nombre de un host y su IP. Esta clase no tiene un constructor, sino que para incializarla deberemos de pasarle el nombre o la IP de un host en concreto o bien indicarle que la maquina de la cual queremos obtener los parametros es la maquina local. Para esto último utilizaremos el método getLocalHost().
Una vez inicializada InetAdress pasaremos a obtener el nombre e IP del servidor local. Para ello nos valdremos de las siguientes funciones:
1. String getHostName(), que nos devolverá una cadena con el nombre de la dirección InetAddress seleccionada. En nuestro caso nos devolverá el nombre de la maquina local.
String sHostName; sHostName = address.getHostName();
2. byte[] getAddress(), para obtener la IP del servidor. El método devolverá un array de bytes de 4 posiciones, cada una de las cuales equivale a un campo del número IP (A.B.C.D). Los números vienen en formato binario con signo a si que tendremos que "descifrarlo".
// Cogemos la IP byte[] bIPAddress = address.getAddress(); // IP en formato String for (int x=0; x<bIPAddress.length; x++) { if (x > 0) { // A todos los numeros les anteponemos // un punto menos al primero sIPAddress += "."; } // Jugamos con los bytes y cambiamos el bit del signo sIPAddress += bIPAddress[x] & 255; }
Este proceso se explica en detalle en el artículo Obtener la IP de un Host.
![]() Descargar el código |
![]() Error en el código |
![]() Foro sobre Java |
Artículos relacionados:









Mayo 23, 2012 #
Ahora ya no es necesario lo del punto 2. Con esta línea basta:
String localIpAddress = InetAddress.getLocalHost().getHostAddress();
el import es:
import java.net.InetAddress;
Se agradece de todas maneras el post, ya que gracias a eso, llegué a esto.