【发布时间】:2010-03-14 13:22:06
【问题描述】:
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 是否提供这种可能性。它可以浏览具有特定名称的服务吗?
【问题讨论】:
标签: java networking bonjour zeroconf