0

运行 iOS 6.1 的 iPad4。

它以当前名称(例如 ping example.local)响应 bonjour/mdns 请求。

转到设置 > 常规 > 关于 > 名称并更改名称(例如更改为新名称)。

iPad 停止响应 mdns 请求。Wireshark 显示 ipad 没有响应。

重新启动/重置网络,所有设置均无效。在 Xcode 下,控制台显示:

mDNSResponder[31]:用户将计算机名称从“example”更新为“newname” mDNSResponder[31]:用户将本地主机名从“example”更新为“newname”</p>

iPad 在 iTunes 和 XCode 下显示为“新名称”,因此设备的友好名称是可以的。它还发送 mdns 请求(例如浏览http://somewhere.local)。

4

1 回答 1

1

我在 Apple 开发者论坛上收到了来自eskimo1的回答:

https://devforums.apple.com/message/899667#899667

这解释了 iOS 设备不会发布“A”记录(即 newname.local),除非还有一个正在运行的应用程序也向 Bonjour/mdns 发布了服务。

逻辑是合理的,如果 iPad 不提供任何服务,那么就没有理由通过 mdns 发布其信息。

另一种方法是 a) 运行一个发布服务的应用程序或 b) 设置动态 DNS 以在连接到本地网络时将设备注册为 DHCP。

于 2013-10-04T01:33:54.963 回答