0

我正在尝试通过使用实现一个简单的 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 中的问题还是我做错了什么?

我试图对www.example.com.

4

1 回答 1

1

res_query如果没有找到匹配的记录,将返回 -1。

除此之外,您的代码对我来说很好,尽管 OSX 需要ns_c_in而不是C_IN.

尝试使用_nicname._tcp.us.而不是www.example.com.

于 2012-03-01T10:53:17.363 回答