У меня есть служба Bonjour _http._tcp., опубликованная на iPhone. При отключении Wi-Fi на iPhone; выполнив следующую команду dns-sd на терминале MacBook:
dns-sd -B _services._dns-sd._udp
затем подключите iPhone к MacBook с помощью кабеля USB Lighting, dns-sd обнаружит следующую службу iPhone:
Timestamp A/R Flags if Domain Service Type Instance Name
19:22:45.126 Add 3 5 . _tcp.local. _http
отсоедините кабель USB-подсветки от MacBook, и вы увидите:
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
Однако при повторении вышеуказанных шагов (запуск dns-sd, подключение и отключение USB-подсветки от ПК) на ПК с Windows 10 dns-sd не обнаружил службу.
Когда iPhone Wi-Fi включен, 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 выключен, 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
У меня был Bonjour SDK v333.10, установленный из https://developer.apple.com/download/more/?=Bonjour%20SDK%20for%20Windows; и iTunes работает нормально (может показывать iPhone) и на ПК .
Почему dns-sd (Bonjour / ZeroConf) на ПК не обнаружил службу iPhone через USB?
Большое спасибо.