Почему SRV res_query всегда возвращает -1? - PullRequest
0 голосов
/ 01 марта 2012

Я пытаюсь реализовать простой запрос 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.

1 Ответ

0 голосов
/ 01 марта 2012

res_query вернет -1, если соответствующая запись не найдена.

Кроме того, ваш код работает нормально для меня, хотя OSX требует ns_c_in вместо C_IN.

Попробуйте протестировать с _nicname._tcp.us. вместо www.example.com.

...