Я пишу библиотеку C ++, которая, помимо прочего, должна:
Я искал существующие варианты. Я обнаружил, что создатели POCO C ++ предлагают Библиотека DNS-SD интегрирован с POCO C ++. Это бы сработало, потому что я на самом деле использую POCO C ++, но это коммерческая библиотека, и я не могу себе этого позволить.
Кроме того, avahi-daemon предлагает клиентский интерфейс, который позволяет просмотр услуги и издательский новые. Это также звучит хорошо, но мне нужно, чтобы мой код был переносимым и работал в основных дистрибутивах Linux, Mac OS X и Windows. AFAIK, это решение будет охватывать только Linux (где доступен avahi-daemon).
Я думаю, что в качестве частичного решения я мог бы просто отправить правильно отформатированное сообщение через сокет и обработать необработанный ответ. Таким образом, я мог искать сервисы, опубликованные с использованием AVAHI. Но я думаю, что это некрасиво и необоснованно.
Итак, есть ли достаточно хорошее решение для этого без покупки программного обеспечения? я знаю это можно сделать с помощью Python, но мне нужно сделать это на C ++.
Спасибо заранее
Существует библиотека с открытым исходным кодом (выпущен под LGPL) доступно в http://avahi.org/. Он предоставляет интерфейс C, который может быть очень легко использован в программе на C ++.
Есть также готовая бинарная версия, доступная для всех основных дистрибутивов.
Других решений пока нет …