我知道iOS的Bonjour实现(NSNetService,NSNetServiceBrowser)在本地网络上开箱即用。
文档说可以设置Bonjour DNS服务器以允许通过互联网连接用户,所以我的问题是:
谢谢!
答案 0 :(得分:4)
Bonjour本地服务发现基于“多播DNS”。每当某个客户想要查找网络上的任何信息或网络上的服务时,它就会使用多播地址224.0.0.251
,这意味着只有该组播组内的客户端才能同时使用bonjour。
244.0.0 / 24 IP地址空间被RFC5771定义为“本地网络控制块”,不会转发出本地网络。
但确实,Bonjour只是一种基于DNS的方法 - 您可以告诉NSServiceBrowser在非本地域中搜索,这只需要DNS服务器响应特定请求(如Manually Adding DNS-SD Service Discovery Records to an Existing Name Server)
如果您使DNS更新工作(Setting up a Bonjour Name Server),这允许通过互联网进行服务发现甚至服务注册,但仅此而已 - 您必须自己关心打孔。
所以给自己一个BIND服务器并开始尝试;)