Bonjour在公共Wifi上失败

时间:2013-05-26 23:45:48

标签: ios sockets bonjour

我正在构建一个使用Bonjour在同一个wifi网络上进行设备发现的应用。我使用NSNetServiceNSNetServiceBrowser,它可以在某些wifi网络上运行(比如我家)。

问题是,它不适用于像星巴克这样的公共WiFi网络。设备看到自己,但不是彼此。我已经尝试过设置自定义端口,如53453甚至443.我也让设备选择自己的端口,但没有任何作用。

有人可以解释一下锁定在WiFi网络上阻止设备互相看到的内容吗?我有没有机会找到一个可以在这样的网络上运行的端口?

1 个答案:

答案 0 :(得分:1)

Bonjour建立在多播DNS之上。公共热点通常会禁用多播流量,这会导致应用程序无法查看其他实例。

禁用多播时,其他应用也会被破坏; iTunes和iPhoto共享将遭遇与这些网络上的应用相同的命运。