Artículos
Java

Obtener el nombre e IP del servidor con Java

03/Oct/2009

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().

InetAddress address = InetAddress.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
String sIPAddress = "";

for (int x=0; 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.

Vídeos sobre Java

Disfruta también de nuestros artículos sobre Java en formato vídeo. Aprovecha y suscribete a nuestro canal.

Test Java

¿Te atreves a probar tus habilidades y conocimiento en Java con nuestro test?

Test Java
Suscribir
Notificar de
guest
3 Comentarios
Recientes
Anteriores Más votados
Opiniones integradas
Ver todos los comentarios