Linux下编译mjansson/mdns
一、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,运行该文件即可看到效果:

