0
res_query
を使用して単純なDNS SRVクエリを実装しようとしています。 res_query部品のための私のコードは以下の通りです:なぜSRV res_queryは常に-1を返しますか?
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クエリを実行しようとしました。
SRVクエリをいくつかのドメインに実行しようとしましたが、一部のサイトでSRVレコードが返されたときにランダムに表示されるようです。提案された '_nicname._tcp.us'は何も返されませんでしたが、いつかそれは私に答えを与えました。 'dig'コマンドと' nslookup'コマンドでSRVクエリを実行しようとしたときも同じことが起こりました。私は、すべてのドメインがSRVクエリを取得したときに少なくとも何かを返すと考えました。また、 '_sip._udp_columbia.edu'のような他のいくつかの提案されたサイトを見つけました。まったく同じように動作します:時にはレコードを返し、時にはそうではありません。 – zaplec