мультиплатформенность — Как я могу создать клиент AVAHI & amp; сервер с использованием C ++?

Я пишу библиотеку C ++, которая, помимо прочего, должна:

  • Поиск конкретной услуги в сети с использованием AVAHI
  • Опубликуйте себя как сервис, используя AVAHI

Я искал существующие варианты. Я обнаружил, что создатели POCO C ++ предлагают Библиотека DNS-SD интегрирован с POCO C ++. Это бы сработало, потому что я на самом деле использую POCO C ++, но это коммерческая библиотека, и я не могу себе этого позволить.

Кроме того, avahi-daemon предлагает клиентский интерфейс, который позволяет просмотр услуги и издательский новые. Это также звучит хорошо, но мне нужно, чтобы мой код был переносимым и работал в основных дистрибутивах Linux, Mac OS X и Windows. AFAIK, это решение будет охватывать только Linux (где доступен avahi-daemon).

Я думаю, что в качестве частичного решения я мог бы просто отправить правильно отформатированное сообщение через сокет и обработать необработанный ответ. Таким образом, я мог искать сервисы, опубликованные с использованием AVAHI. Но я думаю, что это некрасиво и необоснованно.

Итак, есть ли достаточно хорошее решение для этого без покупки программного обеспечения? я знаю это можно сделать с помощью Python, но мне нужно сделать это на C ++.

Спасибо заранее

1

Решение

Существует библиотека с открытым исходным кодом (выпущен под LGPL) доступно в http://avahi.org/. Он предоставляет интерфейс C, который может быть очень легко использован в программе на C ++.

Есть также готовая бинарная версия, доступная для всех основных дистрибутивов.

0

Другие решения

Других решений пока нет …