Bonjour提供“ DNSSD.Browse(ServiceType,callbackObject)”方法,可浏览特定类型的服务。如果找到给定类型的服务,Bonjour调用“ CallbackObject.servicefound”。如果服务丢失,Bonjour称为“ CallbackObject.ServicElost”。

我一直将“ DNSSD.Browse”视为监视特定服务的方法。如果找到该服务(可用)或丢失(不可用),Bonjour监视特定的服务并调用必要的方法。

但是我意识到“ dnssd.browse”收到(作为参数)一种服务(例如”http

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

  1. 注册服务时,我给它一种独特的类型。例如:“ server1。http.tcp“。

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

有帮助吗?

解决方案

您的第一个选择使我成为最好的选择。服务名称可以将服务实例名称添加到它们中,以便您的服务可以具有您建议的名称(但使用适当的下划线),“ server1._http._tcp”。使用该服务名称,如果您想要更特定的查询,则在浏览“ _http._tcp”和“ server1._http._tcp”时将显示服务。 DNSSD.Browse应该全力支持此类型的服务名称。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top