Bonjour可以浏览特定名称的服务吗?
-
19-09-2019 - |
题
Bonjour提供“ DNSSD.Browse(ServiceType,callbackObject)”方法,可浏览特定类型的服务。如果找到给定类型的服务,Bonjour调用“ CallbackObject.servicefound”。如果服务丢失,Bonjour称为“ CallbackObject.ServicElost”。
我一直将“ DNSSD.Browse”视为监视特定服务的方法。如果找到该服务(可用)或丢失(不可用),Bonjour监视特定的服务并调用必要的方法。
但是我意识到“ dnssd.browse”收到(作为参数)一种服务(例如”http。
但是在我的应用程序中,我只想浏览一项特定的服务。最好的方法是什么?我有两个潜在的解决方案:
注册服务时,我给它一种独特的类型。例如:“ server1。http.tcp“。
我注册了用唯一名称(不是类型)的服务,并要求Bonjour浏览具有特定名称的服务。但是我不确定Bonjour是否会提供这种可能性。它可以浏览具有特定名称的服务吗?
解决方案
您的第一个选择使我成为最好的选择。服务名称可以将服务实例名称添加到它们中,以便您的服务可以具有您建议的名称(但使用适当的下划线),“ server1._http._tcp”。使用该服务名称,如果您想要更特定的查询,则在浏览“ _http._tcp”和“ server1._http._tcp”时将显示服务。 DNSSD.Browse应该全力支持此类型的服务名称。
不隶属于 StackOverflow