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

发布于 2024-12-28 18:37:17 字数 219 浏览 0 评论 0原文

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

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

I want to write a C program that can search Bonjour enabled devices on network.

Basically we have a Network IP Camera, it supports Bonjour protocol. I want to write API in C that can search these devices which have Bonjour enabled. Does anyone have sample code or suggestions on how should I do that?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

风启觞 2025-01-04 18:37:17

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

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
- mDNS识别

SDWrap

自述文件:

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

祝你好运!

The following links provide some code samples, as you requested:

mDNSResponder

Quotes from mDNSPosix/ReadMe.txt:

mDNSPosix is a port of Apple's Multicast DNS and DNS Service Discovery
code to Posix platforms.

Multicast DNS and DNS Service Discovery are technologies that allow
you to register IP-based services and browse the network for those
services.

Packing List:

The sample uses the following directories:

o mDNSCore -- A directory containing the core mDNS code. This code
is written in pure ANSI C and has proved to be very portable. Every
platform needs this core protocol engine code.

o mDNSShared -- A directory containing useful code that's not core to
the main protocol engine itself, but nonetheless useful, and used by
more than one (but not necessarily all) platforms.

o mDNSPosix -- The files that are specific to Posix platforms: Linux,
Solaris, FreeBSD, NetBSD, OpenBSD, etc. This code will also work on
OS X, though that's not its primary purpose.

o Clients -- Example client code showing how to use the API to the
services provided by the daemon.

Using the Sample
---------------- When you compile, you will get:

o Main products for general-purpose use (e.g. on a desktop computer):
- mdnsd
- libmdns
- nss_mdns (See nss_ReadMe.txt for important information about nss_mdns)

o Standalone products for dedicated devices (printer, network camera,
etc.)

- mDNSClientPosix
- mDNSResponderPosix
- mDNSProxyResponderPosix

o Testing and Debugging tools
- dns-sd command-line tool (from the "Clients" folder)
- mDNSNetMonitor
- mDNSIdentify

SDWrap

ReadMe:

Quite simple wrapper app to execute some command with Zeroconf
supplied addresses and ports. Uses wxWidgets and wxServDisc for
service discovery...

Good luck!

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文