bonjour如何在网络上发现设备?

时间:2012-01-25 12:10:51

标签: c bonjour

我想编写一个可以在网络上搜索Bonjour个已启用设备的C程序。

基本上我们有网络IP摄像头,它支持Bonjour协议。我想在C中编写API,可以搜索启用了Bonjour的设备。有没有人有关于我该怎么做的示例代码或建议?

1 个答案:

答案 0 :(得分:7)

以下链接提供了一些代码示例,如您所要求的那样:

mDNSResponder

来自mDNSPosix / ReadMe.txt的引言:

  

mDNSPosix是Apple的多播DNS和DNS服务发现的端口   代码到Posix平台。

     

多播DNS和DNS服务发现是允许的技术   您可以注册基于IP的服务并浏览网络   服务。

     

装箱单:

     

该示例使用以下目录:

     

o mDNSCore - 包含核心mDNS代码的目录。这段代码
  是用纯ANSI C编写的,并且已被证明非常便携。一切   平台需要这个核心协议引擎代码。

     

o mDNSShared - 包含非核心有用代码的目录   主协议引擎本身,但仍然有用,并由
使用   不止一个(但不一定是所有)平台。

     

o mDNSPosix - 特定于Posix平台的文件:Linux,   Solaris,FreeBSD,NetBSD,OpenBSD等。这段代码也适用于   OS X,虽然这不是它的主要目的。

     

o客户端 - 示例客户端代码,显示如何将API用于   守护进程提供的服务。

     

使用样本   ----------------编译时,你会得到:

     

o用于通用目的的主要产品(例如在台式计算机上):      - mdnsd      - libmdns      - nss_mdns(有关nss_mdns的重要信息,请参阅nss_ReadMe.txt)

     

o 专用设备的独立产品(打印机,网络摄像头,   等)      - mDNSClientPosix      - mDNSResponderPosix      - mDNSProxyResponderPosix

     

o测试和调试工具      - dns-sd命令行工具(来自“Clients”文件夹)      - mDNSNetMonitor      - mDNSIdentify

SDWrap

  

自述:

     

使用Zeroconf执行某些命令的相当简单的包装器应用程序   提供的地址和端口。使用wxWidgets和wxServDisc   服务发现......

祝你好运!