//返回long IP
int inet_addr(const char *sIp, unsigned long *lIp)
{
int octets[4];
int i;
const char * auxCad = sIp;
*lIp = 0;
// Extraigo cada uno de los octetos. Atoi extrae caracteres hasta encontrar
// un caracter no numerico, en nuestro el '.'
for(i = 0; i < 4; i++)
{
octets[i] = atoi(auxCad);
if(octets[i] < 0 || octets[i] > 255)
return -1;
*lIp |= (octets[i] << (i*8));
// Acualizo auxCad para que apunte al siguiente octeto
auxCad = strchr(auxCad, '.');
if(auxCad == NULL && i!=3)
return -1;
auxCad++;
}
return 0;
}