سؤال

أحاول تنفيذ استعلام سرف دنس بسيط باستخدام 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.في كل مرة أقوم بتنفيذ الاستعلام سرف ، و ريسكيري يعود '-1' ، وهذا يعني أنه فشل.هل المشكلة في إعادة الاستعلام أم أنني أفعل شيئا خاطئا آخر?

لقد حاولت أن تفعل الاستعلام سرف ل www.example.com.

هل كانت مفيدة؟

المحلول

res_query سيعود -1 إذا لم يتم العثور على سجل مطابق.

وبصرف النظر عن أن التعليمات البرمجية الخاصة بك يعمل بشكل جيد بالنسبة لي ، على الرغم من أوسك يتطلب ns_c_in بدلا من C_IN.

جرب الاختبار باستخدام _nicname._tcp.us. بدلا من www.example.com.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top