0.Part2:mDNS实现之Bonjour与Avahi(二)——win/linux/arm交叉编译_平凡之路-CSDN博客1.BonjourBonjour - Apple Developer● 源码(mDNSResponder-878.70.2):https://opensource.apple.com/tarballs/mDNSResponder/● Bin&SDK:https://developer.apple.com/download/all/?q=Bonjour%20SDK%20for%20WindowsBonjour-winBonjour...https://blog.csdn.net/qq_23958061/article/details/122092864?spm=1001.2014.3001.5502

1.Windows

Bonjour - Apple Developerhttps://developer.apple.com/bonjour/

Bonjour SDK for Windowshttps://developer.apple.com/download/all/?q=Bonjour%20SDK%20for%20Windows

下载上面官网sdk,安装(Bonjour服务启动,依赖于mDNSResponder.exe进程),C#在工程中添加COM组件即可使用。

源码参考(C#参考DNSServiceBrowser.NET工程):

Source Codehttps://opensource.apple.com/tarballs/mDNSResponder/

源码目录分析可参考其他文章:

mDNSResponder介绍与移植_Aero's WorkSpace.-CSDN博客_mdnsdmDNSResponder项目是Bonjour的一个组成部分。 Bonjour是法语“你好”的意思。苹果的Bonjour软件源自正IETF零配置网络工作。零配置工作有三个要求:分配IP地址(即使没有分配DHCP服务器的IP地址)2.提供名称到地址的转换(即使没有DNS服务器)3.在网络上发现相关的网络服务(同样,没有其他的基础协议)对于1,通过自分配的本地链接地址实现。对于2,通过多...https://blog.csdn.net/yuangc/article/details/101676976

2.Linux及ARM交叉编译、部署

linux参考下面文章:[从0到1搭嵌入式工程]局域网自动发现功能,苹果Bonjour/mdnsResponder移植_SevenFighting的专栏-CSDN博客在局域网内通信,就必须知道对方的IP地址和端口,苹果开源的mdnsResponder,就是利用mdns组播协议,通过服务域名,来获取相应ip地址的一种方式。比如我们有一个摄像头,在联网的情况下,同一个局域网下的app想发现这个摄像机,并和摄像机建立联系。这样一个需求,需要摄像头调用mDNS_Register,通过传参告知mdns库,在指定的port上注册一个did._ipcxx._tcp....https://blog.csdn.net/bingyu880101/article/details/81563319        至于ARM交叉编译时,前提是你已有ARM平台交叉编译工具链(可能有点废话了),需要修改的部分就是我们的mDNSResponder-878.70.2(根据下载的源码版本)下的mDNSPosix下的Makefile,要做的修改如下(删除两个CFLAGS_OS、指定CC、指定STRIP):

ARM上的部署(实际上是参考该Makefile的install指令):

①将mDNSPosix/build/prod的可执行文件“mdnsd”拷贝到嵌入式ARM平台板卡的“/usr/sbin”目录下;

②将mDNSPosix/build/prod下的libdns_sd.so、libnss_mdns-0.2.so直接拷贝到“/usr/lib/”目录下;

③将Clients/build下的dns-sd拷贝到合适目录;

ARM上的使用(通过dns-sd可执行文件):

①首先将mdnsd作为daemon启动(可通过ln -s添加到init.d下自动启动);

②在应用需要时,参数启动dns-sd,如“./dns-sd -R hxx _lvds local 8888 172.100.19.251”,如下图所示(win上发现arm上的mdns服务)

3.额外的(Avahi)

linux上专门的mDNS库(不支持windows),可以参考(实际上博主在ARM上采用该种实现,win上采用bonjour实现,两者是兼容的,上述对bonjour在arm上的编译及部署只是一些尝试):

http://www.avahi.org/http://www.avahi.org/        Avahi相比于Bonjour的实现,维基百科上这么说:

=======================================

Avahi vs. Bonjour[edit]

The Avahi project started in 2004 because Apple's Zeroconf implementation, Bonjour, used the GPL-incompatible Apple Public Source License. In 2006 Apple relicensed parts of Bonjour under the Apache License.[2]

Avahi's performance resembles that of Bonjour, sometimes exceeding it; however Avahi can lose services when managing large numbers of requests simultaneously.[3]

========================================

Avahi 项目始于 2004 年,因为Apple的 Zeroconf 实现Bonjour使用了与 GPL 不兼容的Apple Public Source License。2006 年,Apple在Apache 许可下重新许可了 Bonjour 的部分内容。[2]

Avahi的表现类似于卓悦,有时甚至超过它;然而,当同时管理大量请求时,Avahi 可能会丢失服务。[3]

mDNS实现之Bonjour与Avahi(一)——win/linux/arm交叉编译相关推荐

  1. mDNS实现之Bonjour与Avahi(二)——win/linux/arm交叉编译

    0.Part1: mDNS实现之Bonjour与Avahi(一)--win/linux/arm交叉编译_平凡之路-CSDN博客官网:Bonjour - Apple Developerhttps://d ...

  2. minio下载及安装:win linux平台

    minio下载及安装:win linux平台 docker run -p 9000:9000 -v /mnt/data:/data minio/minio server /data minio.exe ...

  3. maya linux 安装教程视频,Maya快捷键插件增强工具ZooTools Pro 2.2.4 for Maya Win/Linux+ Assets pack 2.3+视频教程...

    Maya快捷键插件增强工具ZooTools Pro 2.2.4 for Maya Win/Linux+ Assets pack 2.3+视频教程 ZooTools Pro 2.2.4(以前称为C3dC ...

  4. 【win+linux双系统如何正确卸载linux系统】

    前言 win+linux双系统卸载linux用了1个多小时,现在分享一下踩坑经历以及卸载的正确姿势. 卸载流程 1.在 windows 下删除 ubuntu的所有分区 win+x 选择磁盘管理,找到所 ...

  5. 【泛微ecology】E-Mobile 7 win+linux 安装包(版本20210409)

    E-Mobile 7 win+linux 安装包(版本20210409) 含 emp_patch_20210526 更新包 链接:https://pan.baidu.com/s/1gj_Cj8Zq6I ...

  6. 双硬盘下安装win+linux关于开机引导的问题

    前面写的文章只使用于win+linux在同一个硬盘上,因为现在很多笔记本都是固态+机械!!! 本人是固态安装win,机械安装linux,各自安装好系统后发现每次开机默认直接进入win,也无法进入lin ...

  7. 有没有一种文件系统可以支持所有的操作系统(Win+Linux+Mac)而且支持大文件而且不需要辅助软件呢?

    有没有一种文件系统可以支持所有的操作系统(Win+Linux+Mac)而且支持大文件而且不需要辅助软件呢? 在Mac, Linux, Windows下,没有一种文件系统能够同时支持他们三者,还能支持大 ...

  8. Typora (free in Win Linux ) 0.9.86

    @Typora (free in Win & Linux ) Typora (free in Win & Linux ) 0.9.86 Because the Chinese inpu ...

  9. Notepad++又作死,国产文本编辑器Notepad--发布,支持Win/Linux/Mac平台

    来源丨经授权转自 扩展迷EXTFANS(ID:infinitydaily) 1月25日,Notepad++作者发布推文声称在工具中启用了一个新功能: 「如果用户不同意软件内的政治观点,代码中会被添加随 ...

最新文章

  1. Flask rst 文档转换为html格式文件
  2. 屏幕元素属性的控制盒屏幕事件的中止
  3. BCGSoft Demo示例展示:控件示例集合(1/2)
  4. centos后台登录ftp_「vscode remote ssh 免登录」mac
  5. fpu测试_I510400性能及温度测试详解
  6. 二叉搜索树相关知识及应用操作
  7. mysql双主配置及其注意事项
  8. 人口增长模型 源代码
  9. 百度收录批量查询-免费百度整站批量收录查询工具
  10. Linux 10个主流发行版本
  11. JavaME证书的制作和介绍
  12. 既是回文数又是质数c语言,素数回文——输出两整数之间所有既是回文数又是素数的数 C++实现...
  13. 2010年水瓶座的运势
  14. 如何打开CMD以及简单Dos命令
  15. bcm54xx系列phy光口电口的配置方法
  16. 使用Sentinel LDK(Linux)对程序(*.so文件)加壳
  17. 当当网1000本同类别图书价格对比:matplotlib基本使用,plot-线段,bar-条形图,pie-饼图
  18. LLC同步控制or异步控制
  19. PLC控制气缸,如何使用二位五通和三位五通控制电磁阀控制
  20. windows防火墙是干什么的_防火墙的作用有哪些?Windows防火墙的主要作用是什么?...

热门文章

  1. 30_ue4[动画]02_动画蓝图播放蒙太奇和打包
  2. 编译原理 C-Minus词法分析(FLEX)
  3. 优达棒球赛数据分析项目
  4. 石家庄铁道大学 2016 上半年软件工程课助教总结
  5. 初识UAC(理论概括介绍)
  6. android五子棋源代码,Android五子棋游戏源码详解
  7. JS正则表达式完整版
  8. “五年饮冰,难凉热血”,一名专科生的求学历程
  9. 西游记中孙悟空的等级地位
  10. 万分之二用百分之怎么表示_万分之一符号怎么写