我已經建立了從Qt的季刊Qt+Bonjour integration demo,但有一件事我不能換我的頭周圍就是要DNSServiceProcessResult()
單個呼叫調用DNSServiceResolveReply
回調函數的兩倍。爲什麼DNSServiceProcessResult調用我的回調兩次?
應該調用它一次!我的意思是,這一條線上:
DNSServiceErrorType err = DNSServiceProcessResult(dnssref);
在DNSServiceResolveReply
回調我傳遞給DNSServiceResolve
結果被調用兩次。
interfaceIndex
是不同的 - 第一次是10000010
,第二次是20
,但我不知道這意味着什麼。
調用之間的所有其他參數是相同的(除了flags
,當然這是第一次kDNSServiceFlagsMoreComing
和0
第二次)。
編輯
這是我如何調用DNSServiceResolve
功能。
DNSServiceErrorType err = DNSServiceResolve(&dnssref, 0, 0,
record.serviceName.toUtf8().constData(),
record.registeredType.toUtf8().constData(),
record.replyDomain.toUtf8().constData(),
(DNSServiceResolveReply)bonjourResolveReply, this);