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 2012-03-02 07:36:19