iPhone obtiene el nombre de host DNS 3G y la dirección IP

¿Es posible en Objective C / C / C ++ obtener la dirección IP del servidor DNS actual para la conexión de datos 3G / Cell?

Miré a mi alrededor y no pude encontrar una respuesta definitiva.

preguntado el 12 de junio de 12 a las 16:06

1 Respuestas

#include <arpa/inet.h>
#include <ifaddrs.h>
#include <resolv.h>
#include <dns.h>

// 
- (NSString *) getDNSServers 
{
    NSMutableString *addresses = [[NSMutableString alloc]initWithString:@"DNS Addresses \n"];

    res_state res = malloc(sizeof(struct __res_state));

    int result = res_ninit(res);

    if ( result == 0 )
    {    
        for ( int i = 0; i < res->nscount; i++ )
        {
            NSString *s = [NSString stringWithUTF8String :  inet_ntoa(res->nsaddr_list[i].sin_addr)];
            [addresses appendFormat:@"%@\n",s];
            NSLog(@"%@",s);
        }
    }
    else 
        [addresses appendString:@" res_init result != 0"];

    return addresses;
    }

Respondido el 13 de junio de 12 a las 21:06

Funciona genial. Sin embargo, no olvide vincular libresolv.dylib ;-) - H] Hong Kong

no te olvides de liberar! - NG.

También me salvó la vida :) Tengo una pregunta sobre una sola cosa. Se devuelven dos valores. ¿Cómo puedo saber cuál tengo que usar? - gokhan gultekin

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.