Почему SRV Res_Query всегда возвращается -1?
Вопрос
Я пытаюсь реализовать простой запрос DNS SRV с помощью res_query
.Мой код для части RES_Query следующий:
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;
}
.
Это всего лишь часть кода, но я думаю, что есть все необходимые вещи, чтобы сделать res_query
.Каждый раз, когда я выполняю запрос SRV, RES_QUERY возвращает «-1», то есть не удается.Проблема в моем Res_Query или я делаю что-то еще не так?
Я пытался сделать запрос SRV для www.example.com
.
Решение
res_query
will return -1 if no matching record is found.
Apart from that your code works fine for me, although OSX requires ns_c_in
instead of C_IN
.
Try testing with _nicname._tcp.us.
instead of www.example.com
.
Не связан с StackOverflow