Совместимость JmDNS с iOS Bonjour - PullRequest
       40

Совместимость JmDNS с iOS Bonjour

0 голосов
/ 03 ноября 2019

Я использую JmDNS для регистрации службы и хотел бы обнаружить ее на iOS. Я могу обнаружить службу, используя клиент JmDNS, а также обнаружив несколько других служб в сети. Проблема в том, что я не могу обнаружить свой сервис в приложении для iOS, но я вижу множество других сервисов, но ни один из тех, что видел в клиенте JmDNS. Я тестировал с помощью приложения Network Browser для iOS, и оно видит десятки других сервисов, но ни один из сервисов, которые видит мой клиент JmDNS.

Наиболее очевидное различие между двумя пакетами найденных сервисов состоит в том, что всенайденные приложением iOS имеют форму name._tcp.local. и все найденные клиентом JmDNS все name._http._tcp.local.

Я явно упускаю некоторые ключевые аспекты ZeroConfig, так как я ожидаю увидеть одинаковые сервисы в обоих местах, в том числе и мои собственныекак и все остальные в сети.

Я попытался изменить name._http._tcp на name._tcp, и все, что, похоже, делает, - это сделать так, чтобы я нигде не мог обнаружить службу JnDNS. Я также пробовал разные комбинации имен.

public final static String REMOTE_TYPE = "_http._tcp.local.";
final HashMap<String, String> values = new HashMap<String, String>();
values.put("DvNm", "Sample-" + id);
ServiceInfo pairservice = ServiceInfo.create(REMOTE_TYPE, "sample", 1025, 0, 0, values);
jmdns.registerService(pairservice);

Я ожидаю увидеть одинаковые службы в обоих местах, как свои, так и все остальные в сети.

1 Ответ

0 голосов
/ 10 ноября 2019

Я все еще копаю, но я нашел самый полный браузер Bonjour, который решает проблему и видит все разные сервисы, которые я видел только отдельно на разных платформах. Я ожидал увидеть все на основе одного запроса, но этот браузер делает множество запросов, которые выполняют свою работу. Браузер Flame доступен в магазине приложений Apple, но, к счастью, код также доступен на GitHub. Это хорошо написано и легко следовать, поэтому, если у вас возникла эта проблема, проверьте ее.

https://github.com/tominsam/flametouch

...