Prácticas con InetAddress

De MediaWiki
Ir a la navegación Ir a la búsqueda

Enunciado 1

Comproba o funcionamento do seguinte programa, e analiza os resultados obtidos:

 1 package probandoinetaddress;
 2 
 3 import java.net.*;
 4 
 5 class ProbandoINetAddress {
 6 
 7     public static void main(String[] args) {
 8         try {
 9             System.out.println("-> Enderezo IP dnha URL por nome");
10             InetAddress address = InetAddress.getByName("www.google.es");
11             System.out.println(address);
12 
13             // Extrae o enderezo IP a partir da cadena que se atopa á dereita da barra /
14             // e logo proporciona este enderezo IP coma argumento de chamada ó método getByName()
15             System.out.println("-> Nome a partir do enderezo");
16             int temp = address.toString().indexOf('/');
17             address = InetAddress.getByName(address.toString().substring(temp + 1));
18             System.out.println(address);
19 
20             System.out.println("-> Enderezo IP actual de LocalHost");
21             address = InetAddress.getLocalHost();
22             System.out.println(address);
23 
24             System.out.println("-> Nome de LocalHost a partir do enderezo");
25             temp = address.toString().indexOf('/');
26             address = InetAddress.getByName(address.toString().substring(temp + 1));
27             System.out.println(address);
28 
29             System.out.println("-> Nome actual de LocalHost");
30             System.out.println(address.getHostName());
31 
32             System.out.println("-> Enderezo IP actual de LocalHost");
33             // Toma la dirección IP como un array de bytes
34             byte[] bytes = address.getAddress();
35             // Converte os bytes do enderezo IP a valores sen singo
36             // e os presenta separados por espazos
37             for (int cnt = 0; cnt < bytes.length; cnt++) {
38                 int uByte = bytes[cnt] < 0 ? bytes[cnt] + 256 : bytes[cnt];
39                 System.out.print(uByte + " ");
40             }
41             System.out.println();
42         } catch (UnknownHostException e) {
43             System.out.println(e);
44             System.out.println("Debes estar conectado para que isto funcione ben!");
45         }
46     }
47 }