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 にありますか、それとも何か間違ったことをしていますか?

に SRV クエリを実行しようとしました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 に答える