我有一个 Bonjour _http._tcp。在 iPhone 上发布的服务。在 iPhone Wifi关闭的情况下;在 MacBook 的终端上运行以下 dns-sd 命令:
dns-sd -B _services._dns-sd._udp
然后用 USB Lighting 电缆将 iPhone 连接到 MacBook,dns-sd 会发现以下 iPhone 服务:
Timestamp A/R Flags if Domain Service Type Instance Name
19:22:45.126 Add 3 5 . _tcp.local. _http
从 MacBook 上断开 USB Lighting 电缆会显示:
Timestamp A/R Flags if Domain Service Type Instance Name
19:22:45.126 Add 3 5 . _tcp.local. _http
19:23:53.924 Rmv 1 5 . _tcp.local. _http
但是,在 Windows 10 PC 上重复上述步骤(运行 dns-sd,连接和断开 USB Lighting 到 PC),dns-sd没有发现该服务。
使用 iPhone Wifi On,PC 上的 dns-sd 会发现 iPhone 服务:
Timestamp A/R Flags if Domain Service Type Instance Name
19:32:36.238 Add 2 13 . _tcp.local. _http
当 iPhone Wifi 关闭时,PC 上的 dns-sd 会显示:
Timestamp A/R Flags if Domain Service Type Instance Name
19:32:36.238 Add 2 13 . _tcp.local. _http
19:33:38.471 Rmv 0 13 . _tcp.local. _http
我从https://developer.apple.com/download/more/?=Bonjour%20SDK%20for%20Windows; 安装了 Bonjour SDK v333.10;并且 iTunes 在 PC 上也可以正常工作(可以显示 iPhone)。
为什么 PC 上的 dns-sd (Bonjour/ZeroConf) 没有通过 USB 发现 iPhone 服务?
非常感谢。