لماذا سرف ريسكيري يعود دائما -1?
سؤال
أحاول تنفيذ استعلام سرف دنس بسيط باستخدام 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
.
لا تنتمي إلى StackOverflow