【问题标题】:Can Bonjour browse a service with a particular name?Bonjour 可以浏览具有特定名称的服务吗?
【发布时间】: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”。

但在我的应用程序中,我只想浏览一项特定服务。最好的方法是什么?我有两个可能的解决方案:

  1. 当我注册一个服务时,我给它一个唯一的类型。例如:“server1.http.tcp”。

  2. 我注册了具有唯一名称(不是类型)的服务,并要求 Bonjour 浏览具有特定名称的服务。但我不确定 Bonjour 是否提供这种可能性。它可以浏览具有特定名称的服务吗?

【问题讨论】:

    标签: java networking bonjour zeroconf


    【解决方案1】:

    您的第一个选项让我印象深刻。服务名称可以有 将服务实例名称添加到它们,以便您的服务可以具有 您建议的名称(但带有适当的下划线), “server1._http._tcp”。使用该服务名称,服务应该 浏览“_http._tcp”和“server1._http._tcp”时显示 如果您想要更具体的查询。 DNSSD.browse 应该有 完全支持这种类型的服务名称。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-02
      • 1970-01-01
      相关资源
      最近更新 更多