Frage

Ich versuche, mithilfe von eine einfache DNS-SRV-Abfrage zu implementieren res_query.Mein Code für den res_query-Teil lautet wie folgt:

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;
}

Dies ist nur ein Teil des Codes, aber ich denke, es gibt alle erforderlichen Dinge, um das zu tun res_query.Jedes Mal, wenn ich die SRV-Abfrage ausführe, gibt die res_query „-1“ zurück, was bedeutet, dass sie fehlschlägt.Liegt das Problem in meiner res_query oder mache ich etwas anderes falsch?

Ich habe versucht, die SRV-Abfrage durchzuführen www.example.com.

War es hilfreich?

Lösung

res_query gibt -1 zurück, wenn kein passender Datensatz gefunden wird.

Abgesehen davon funktioniert Ihr Code für mich einwandfrei, obwohl OSX dies erfordert ns_c_in anstatt C_IN.

Versuchen Sie es mit _nicname._tcp.us. anstatt www.example.com.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top