我想使用iOS SDK解析DNS SRV記錄。使用iOS SDK解析SRV記錄
我已經嘗試過Apple提供的高級Bonjour API,但它們不是我所需要的。現在我正在使用DNS SD。
void *processQueryForSRVRecord(void *record) {
DNSServiceRef sdRef;
int context;
printf("Setting up query for record: %s\n", record);
DNSServiceQueryRecord(&sdRef, 0, 0, record, kDNSServiceType_SRV, kDNSServiceClass_IN, callback, &context);
printf("Processing query for record: %s\n", record);
DNSServiceProcessResult(sdRef);
printf("Deallocating query for record: %s\n", record);
DNSServiceRefDeallocate(sdRef);
return NULL;
}
這個工作,只要它只有正確的SRV記錄(例如:_xmpp-server._tcp.gmail.com),但是當記錄輸入錯誤,DNSServiceProcessResult(sdRef)進入一個無限循環。
有沒有辦法阻止DNSServiceProcessResult或必須我取消了調用它的線程?
它適合我。 – ssk
看起來可行。唯一不應該使用'dnsHost'而是使用有問題服務的全名。例如,用於SIP SRV記錄的'_sips._tcp'.yourdomain.com – malex