最近公司需要用到BonJour ,目前网上资料比较少,网页也没什么非常好的参考资料,只有下载源码,后在源码上修改如下:
.pro 文件如下:
LIBS += -L$$PWD/bonjour/Lib/x64/ -ldnssd INCLUDEPATH += $$PWD/bonjour/Include DEPENDPATH += $$PWD/bonjour/Include LIBS += -lws2_32
void MainWindow::browse_services(const char *regtype, const char *domain) { DNSServiceErrorType error = DNSServiceBrowse(&browse_ref, 0, 0, regtype, domain, browse_reply, &browse_ref); if (error != kDNSServiceErr_NoError) { qDebug() << "Browse failed with error" << error; return; } //DNSServiceProcessResult(browse_ref);//read 如果读取不到数据,就一直等待,阻塞等待 //DNSServiceRefDeallocate(browse_ref); }
void MainWindow::browse_reply(DNSServiceRef sdRef, DNSServiceFlags flags, uint32_t interfaceIndex, DNSServiceErrorType errorCode, const char *serviceName, const char *regtype, const char *replyDomain, void *context) { if (errorCode == kDNSServiceErr_NoError) { qDebug() << "Found service:" <<"["<< serviceName<<"]"<<"regtype:" <<"["<< regtype<<"]"<< "replyDomain" &l