【发布时间】:2018-10-20 23:23:22
【问题描述】:
我几乎直接从 dns-sd SDK 示例中获取了这段代码,但是它没有找到我搜索的服务。
没有错误,只是没有调用任何回调。这与 Windows 10 x32 上的 Apple Bonjour SDK 相关联。
如果我运行“dns-sd -B _http._tcp”,它会找到很多实例!
void DNSSD_API IterateServiceInstances(DNSServiceRef sdRef,
DNSServiceFlags flags,
uint32_t interfaceIndex,
DNSServiceErrorType errorCode,
const char * serviceName,
const char * regtype,
const char * replyDomain,
void * context)
{
puts("IterateServiceInstances is never called!");
}
void DiscoverSegments()
{
printf("Discovering Segments...");
DNSServiceRef client = NULL;
DNSServiceErrorType err;
err = DNSServiceBrowse(&client,
0,
0,
"_http._tcp",
"",
IterateServiceInstances,
NULL);
if (kDNSServiceErr_NoError != err)
printf("Error: Unable to enumerate Bonjour to find devices.\n");
int main(int argc, char ** argv)
{
DiscoverSegments();
}
【问题讨论】: