题
我正在尝试使用以下命令来实现简单的 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
如果没有找到匹配的记录,则返回-1。
除此之外,你的代码对我来说工作得很好,尽管 OSX 需要 ns_c_in
代替 C_IN
.
尝试使用以下命令进行测试 _nicname._tcp.us.
代替 www.example.com
.
不隶属于 StackOverflow