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