一、mDNS简介

Multicast DNS(mDNS)是一种计算机网络协议,可在未配置本地域名服务器的局域网内将主机名解析为IP地址。该协议采用零配置服务模式,其编程接口、数据包格式及操作语义与单播域名系统(DNS)基本一致。其设计既可作为独立协议运行,亦可与标准DNS服务器兼容。该协议采用IP多播用户数据报协议(UDP)数据包传输,由苹果Bonjour及开源Avahi软件包实现,后者已包含于多数Linux发行版中。尽管Windows 10初始版本仅支持网络打印机发现功能,后续版本已扩展至主机名解析。mDNS可与DNS服务发现(DNS-SD)协同工作。

二、mjansson/mdns简介

mjansson/mdns提供一个纯头文件的跨平台mDNS和DNS-DS的C语言实现。最新源代码可以从以下地址获取:https://github.com/mjansson/mdns

三、下载编译mjansson/mdns

首先从 https://github.com/mjansson/mdns 下载mjansson/mdns源码,拷贝到Linux系统中,解压缩,进入源码目录。执行cmake:

cmake . -DCMAKE_INSTALL_PREFIX=$(pwd)/install

编译、安装:

make
make install

如果执行成功,mjansson/mdns源码目录的install/include目录下会生成头文件 :

bin目录下会生成示例文件mdns_example,运行该文件即可看到效果:

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐