Pergunta

Eu estou tentando implementar uma simples consulta de servidor DNS usando res_query.Meu código para o res_query parte é o seguinte:

char* target;
short* port;

union {
    HEADER hdr;
    u_char buf[1024];
} response;

ns_msg handle;
ns_rr rr;
u_char buf[256], *p;
int t, len, priority, weight;

if ((len = res_query(query, C_IN, ns_t_srv, (u_char *)&response, sizeof(response))) <0 ) {
    cout << "res_query returned -1, no answer" << endl;
    return 0;
}

Esta é apenas uma parte do código, mas eu acho que há todas as coisas para fazer o res_query.Cada vez que eu executar a consulta de servidor, o res_query retorna '-1', o que significa falhar.É o problema na minha res_query ou estou fazendo algo errado?

Eu tentei fazer a consulta de servidor para www.example.com.

Foi útil?

Solução

res_query irá retornar -1, se nenhum registro correspondente for encontrado.

Para além de que seu código funciona bem para mim, embora OSX requer ns_c_in em vez de C_IN.

Tente testar com _nicname._tcp.us. em vez de www.example.com.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top