jump to navigation

Obtener el nombre e IP del servidor con Java Octubre 3, 2009

Publicado por lineadecodigo en : Java , trackback

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

  1. 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.

  1. String sHostName;
  2. 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".

  1. // Cogemos la IP
  2. byte[] bIPAddress = address.getAddress();
  3.  
  4. // IP en formato String
  5. String sIPAddress = "";
  6.  
  7. for (int x=0; x<bIPAddress.length; x++) {
  8. if (x > 0) {
  9. // A todos los numeros les anteponemos
  10. // un punto menos al primero
  11. sIPAddress += ".";
  12. }
  13. // Jugamos con los bytes y cambiamos el bit del signo
  14. sIPAddress += bIPAddress[x] & 255;
  15. }

Este proceso se explica en detalle en el artículo Obtener la IP de un Host.

Articulos Similares:

|- Descargar el código
|- Reportar error en el código
|- Foro sobre Java

Enviar entrada por email Enviar entrada por email | Imprimir Imprimir | 942 visitas

1 Star2 Stars3 Stars4 Stars5 Stars (Todavia sin evaluar)
Loading ... Loading ...

Comentarios»

Todavía no hay comentarios. ¿Quieres ser el primero?




Si tienes dudas sobre Java no dudes en visitar el Foro sobre Java.
Imagen CAPTCHA CAPTCHA Audio
Refrescar imagen