Bonjour 提供“DNSSD.browse(serviceType,callBackObject)”方法来浏览特定类型的服务。如果找到给定类型的服务,Bonjour 将调用“callBackObject.serviceFound”。如果服务丢失,Bonjour 会调用“callBackObject.serviceLost”。
我一直认为“DNSSD.browse”是一种监控特定服务的方法。Bonjour 监视特定服务并在服务被发现(可用)或丢失(不可用)时调用必要的方法。
但是我意识到“DNSSD.browse”接收(作为参数)一种服务类型(例如“ http .tcp”)并且可以有多个这种类型的服务。因此,如果找到或丢失任何指定类型的服务,它可能分别调用“serviceFound”和“serviceLost”。
但在我的应用程序中,我只想浏览一项特定的服务。最好的方法是什么?我有两个潜在的解决方案:
当我注册一个服务时,我给它一个唯一的类型。例如:“ server1.http .tcp ”。
我注册具有唯一名称(不是类型)的服务,并要求 Bonjour 浏览具有特定名称的服务。但我不确定 Bonjour 是否提供这种可能性。它可以浏览具有特定名称的服务吗?