Проблема
Я пытаюсь начать с обнаружения сетевых служб для моего приложения клиент / сервер Java - в основном, я просто хочу, чтобы клиент нашел сервер в том же сегменте Ethernet без конфигурации. Хочу предусмотреть на будущее, когда есть клиенты на других платформах. Наверное, просто NETCF и Android. Это не должно быть ракетной операцией.
Опции
Несколько часов просмотра параметров перечисленные здесь, похоже, указывают на то, что mdnsjava - лучший вариант в настоящее время. Я разместил немного своих исследований ниже, но при моей текущей репутации я ограничен двумя ссылками.
У меня есть примеры Jmdns для компиляции, регистрации и просмотра без много горя ... но он просто не работал надежно. Браузер возвращал IP-адреса в подсети 255.255.254 в тех случаях, когда он вообще находил службу.
Mdnsjava получает лучшие отзывы, но мне совершенно не удалось запустить его. Примеры, которые я нашел, представляют собой фрагменты кода, которые не существуют сами по себе, а документы javadoc на самом деле не являются документацией - это просто списки общедоступных методов с безымянными (но обязательными) аргументами.
Avahi4j застрял на v0.1 с 2009 года. Не тратил на это время.
Bonjour, по-видимому, требует системных библиотек на платформах, отличных от Apple.
Upnp, о котором я, по общему признанию, ничего не знаю, похоже, потребует огромного количества инфраструктуры, чтобы удовлетворить мои минимальные требования.
Вопрос
Существует ли компилируемый рабочий пример регистрации службы с помощью mdnsjava? Я готов к тому, что мне предложат исследовать другую библиотеку, если это будет моим лучшим курсом действий в 2015 году.