Pourquoi SRV res_query renvoie toujours -1?
Question
Je suis en train de mettre en œuvre un simple DNS SRV requête à l'aide de res_query
.Mon code pour le res_query partie est la suivante:
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;
}
Ceci est juste une partie du code, mais je pense qu'il y a toutes les choses nécessaires pour faire le res_query
.Chaque fois que j'execute la requête SRV, le res_query renvoie '-1", ce qui signifie qu'il échoue.Est le problème dans mon res_query ou suis-je en train de faire quelque chose de mal?
J'ai essayé de faire la requête SRV à www.example.com
.
La solution
res_query
sera de retour -1 si aucun enregistrement correspondant n'est trouvé.
En dehors de ce que votre code fonctionne très bien pour moi, bien que OSX exige ns_c_in
au lieu de C_IN
.
Essayez de tester avec _nicname._tcp.us.
au lieu de www.example.com
.