2014-04-10 10 views
1

나는 무엇보다도 필요, C++ 라이브러리를 코딩하고 있습니다 :를 Avahi C++을 사용하여 AVAHI 클라이언트 및 서버를 어떻게 만들 수 있습니까?

  • 사용하여 네트워크의 특정 서비스에 대한

    • 검색

    를 Avahi

  • 을 사용하여 서비스 자체를 게시 나는 현존하는 옵션을 찾고 있었다. 나는 POCO C++의 개발자가 POCO C++와 통합 된 DNS-SD library을 제공한다는 것을 발견했다. 제가 실제로 POCO C++을 사용하고 있기 때문에 그렇게 될 것입니다.하지만 상용 라이브러리이기 때문에 여유가 없습니다.

    이외에도 avahi-daemon은 browsing 서비스와 publishing 서비스를 허용하는 클라이언트 인터페이스를 제공합니다. 또한 좋게 들리 겠지만, 필자는 이식성이 있어야하고 주요 Linux 배포판, Mac OS X 및 Windows에서 작동해야하는 코드가 필요합니다. AFAIK,이 솔루션은 리눅스 (avahi 데몬이있는 곳) 만 커버 할 것입니다.

    부분적인 해결책으로 생각해 봅시다. 소켓을 통해 올바른 형식의 메시지를 보내고 원시 응답을 처리 할 수 ​​있습니다. 그러면 AVAHI를 사용하여 게시 된 서비스를 검색 할 수 있습니다. 그러나 나는 그것이 추악하고 유지가 어렵다고 생각한다.

    그래서 소프트웨어를 구입하지 않고도 충분히 좋은 해결책이 있습니까? 나는 this can be done using Python을 알고 있지만 C++로 할 필요가 있습니다. http://avahi.org/에서 이상 사용할 수있는 오픈 소스 라이브러리합니다 (LGPL하에 발표가) 있습니다 사전

    +1

    당신은 libdns-SD-의 compat 헤더를 사용할 수 있습니다, 당신은 CMake 및 종속성으로를 Avahi를 지원하는 사냥꾼 패키지 관리자와 C++로 쉽게 통합 할 수있다, 예를 참조 blob/master/examples/Avahi/CMakeLists.txt # L16 https://github.com/ruslo/hunter – daminetreg

    답변

    0

    에서

    많은 감사합니다. C++ 프로그램에서 매우 쉽게 사용할 수있는 C 인터페이스를 제공합니다.

    또한 모든 주요 배포판에 사용할 수있는 미리 작성된 바이너리 버전이 있습니다. https://github.com/ruslo/hunter/ :