iOS Bonjour通过互联网

ste*_*rnr 5 networking bonjour ios

我知道iOS的Bonjour实现(NSNetService,NSNetServiceBrowser)在本地网络上开箱即用.

文档说可以设置Bonjour DNS服务器以允许通过互联网连接用户,所以我的问题是:

  1. 什么是Bonjour DNS服务器界面?我可以从一个样本开始吗?
  2. DNS服务器负责对等体和其余部分(发送\ rec数据)的初始握手\连接是否将直接在对等体之间进行?
  3. DNS服务器是否提供NAT穿孔机制?

谢谢!

Mar*_*ich 4

Bonjour 本地服务发现基于“多播 DNS”。每当某个客户端想要了解有关网络或网络上的服务的任何信息时,它都会使用多播地址224.0.0.251,这意味着只有该多播组内的客户端才能一起使用 bonjour。244.0.0/24 IP 地址空间被 RFC5771 定义为“本地网络控制块”,并且不会转发到本地网络之外。

实际上,Bonjour 只是一种基于 DNS 的方法 - 您可以告诉 NSServiceBrowser 在非本地域中搜索,这只需要 DNS 服务器响应特定请求(如手动添加 DNS-SD 服务发现记录到现有的名称服务器)这允许通过互联网发现服务,如果您的 DNS 更新工作正常(设置 Bonjour 名称服务器),甚至可以进行服务注册,但仅此而已 - 您必须关心自己打洞。

因此,为自己准备一个 BIND 服务器并开始尝试;)