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:




