Служба JmDNS не найдена в браузере ZeroConf

Я занимаюсь разработкой веб-приложения на Java (с помощью Spark) и хочу, чтобы оно использовало JmDNS, чтобы найти этот сервер в моем приложении для Android. Я выполнял шаги со страницы JmDNS с регистрацией службы, и мой код выглядит так:

try {
        // Create a JmDNS instance
        JmDNS jmdns = JmDNS.create(InetAddress.getLocalHost());

        // Register a service
        ServiceInfo serviceInfo = ServiceInfo.create("_http._tcp.local.", "smart_dom", 4567, "path=index.html");
        jmdns.registerService(serviceInfo);

    } catch (IOException e) {
        System.out.println(e.getMessage());
    } catch (InterruptedException e) {
        e.printStackTrace();
    }

Я реализовал часть об обнаружении сервисов в своем приложении для Android, но ничего не нашел. В соответствии с этим вопросом я внес некоторые изменения и даже загрузил браузер ZeroConf (он основан на JmDNS), но даже это приложение не видит мое веб-приложение.

Мой сервер работает на ПК с Windows. Я знаю, что Windows не поддерживает mDNS, но Java должна быть независимой от платформы. Что я могу делать не так?

1 ответ

Решение

Если кому-то было интересно, что не так, я нашел ответ.

В моем случае проблема была с JmDNS jmdns = JmDNS.create(InetAddress.getLocalHost());особенно с InetAddress.getLocalHost() который вернул 127.0.0.1 не мой сетевой адаптер Wi-Fi-адрес. Проблема была решена с помощью этого решения. Он основан на поиске правильного интерфейса через NetworkInterface.getNetworkInterfaces(),

Другие вопросы по тегам