Por SRV res_query sempre retorna -1?
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
.
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