我怎么能创建一个AVAHI客户端&服务器使用C ++?

时间:2014-04-10 12:15:23

标签: c++ multiplatform avahi

我正在编写一个C ++库,其中包括:

  • 使用AVAHI
  • 在网络中搜索特定服务
  • 使用AVAHI将自己发布为服务

我一直在寻找现有的选择。我发现POCO C ++的创建者提供了与POCO C ++集成的DNS-SD library。这样可行,因为我实际上使用的是POCO C ++,但它是一个商业图书馆,我无法承受。

除此之外,avahi-daemon提供了一个客户端界面,允许browsing个服务和publishing个新服务。这听起来不错,但我需要我的代码可移植,并且可以在主要的Linux发行版,Mac OS X和Windows中工作。 AFAIK,这个解决方案只包括Linux(可以使用avahi-daemon)。

我想作为部分解决方案,我可以通过套接字发送格式正确的消息并处理原始响应。这样,我就可以搜索使用AVAHI发布的服务。但我觉得这很丑陋而且不可维护。

那么,如果没有购买软件,有没有足够好的解决方案呢?我知道this can be done using Python,但我需要用C ++做。

非常感谢提前

1 个答案:

答案 0 :(得分:0)

LGPL上有一个开源库(在http://avahi.org/下发布)。它公开了一个C接口,可以很容易地在c ++程序中使用。

还有适用于所有主要发行版的预建二进制版本。