我正在尝试使用res_query
实现简单的DNS SRV查询。我的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中的问题还是我做错了什么?
我尝试对www.example.com
进行SRV查询。
答案 0 :(得分:0)
res_query
将返回-1。
除此之外,您的代码可以正常使用,但OSX需要ns_c_in
而不是C_IN
。
尝试使用_nicname._tcp.us.
代替www.example.com
进行测试。