Direcciones IP

En C, existen algunas funciones que nos ayudarán a manipular direcciones IP. En esta sección se hablará de las funciones inet_addr() y inet_ntoa().

Por un lado, la función inet_addr() convierte una dirección IP en un entero largo sin signo (unsigned long int), por ejemplo:

		     
(...) 

dest.sin_addr.s_addr = inet_addr("195.65.36.12"); 

(...)

/*Recordar que esto sería así, siempre que tengamos una estructura "dest" 
del tipo sockaddr_in*/

   

Por otro lado, inet_ntoa() convierte a una cadena que contiene una dirección IP en un entero largo. Por ejemplo:

		      
(...)

char *ip;

ip=inet_ntoa(dest.sin_addr);

printf("La dirección es: %s\n",ip);

(...)
    

Se deberá recordar también que la función inet_addr() devuelve la dirección en formato de Ordenación de Bytes para Redes por lo que no necesitaremos llamar a htonl().