【问题标题】:How bonjour discover devices on network?bonjour 如何发现网络上的设备?
【发布时间】:2012-02-18 14:57:56
【问题描述】:

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

基本上我们有一个网络 IP 摄像机,它支持 Bonjour 协议。我想用 C 编写 API 来搜索这些启用了 Bonjour 的设备。有没有人有关于我应该如何做的示例代码或建议?

【问题讨论】:

    标签: c bonjour


    【解决方案1】:

    根据您的要求,以下链接提供了一些代码示例:

    mDNSResponder

    来自 mDNSPosix/ReadMe.txt 的引述:

    mDNSPosix 是 Apple 的 Multicast DNS 和 DNS Service Discovery 的一个端口 代码到 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 - mDNS识别

    SDWrap

    自述文件:

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

    祝你好运!

    【讨论】:

    • 感谢您的友好回复。但在给定的链接中,我找不到任何可用于在网络上搜索 bonjour 设备的源代码。
    • 您是否阅读过适用于您平台的ReadMe.txt?引用:“当你编译时,你会得到:专用设备(打印机、网络摄像机等)的独立产品”我快速通读了源代码。它受到了大量评论,如果您花时间使用针对您特定平台的自述文​​件作为指南,我想您会找到您正在寻找的内容。
    猜你喜欢
    • 1970-01-01
    • 2011-10-11
    • 1970-01-01
    • 2017-07-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-04
    • 1970-01-01
    相关资源
    最近更新 更多