Android局域网通信Boujour的实现方案

一、JmDns

  • DNS Service Discovery (DNS-SD)
    使用标准的Dns编程接口,数据封包结构实现浏览网络以获取服务。不依赖且兼容Multicast DNS,可以在一起使用并相互补充。
  • Zero Configuration Networking (Zeroconf)
    IPv4 Link-Local Addressing是打印机以及各种网络设备上能用的一种本地链接协议,支持各种Linux操作系统以及嵌入式操作系统。 IPv4 Link-Local Addressing格式复杂,小电器,打印机,电视机都是利用这种网络来发现服务的。它是使用ip地址进行通讯。airport和平台相关,只能在苹果设备中查的和发现。本地链接游戏,android和ios手机游戏,本地怎么链接打游戏呢?
  • Multicast DNS
    一个不需要DNS服务器就能使用DNS编程接口,封包格式和语义和方式。不需要DNS服务器就能翻译名称和IP地址的方式。
    Multicast NDS是Zero Configuration Networking和DNS Extensions (dnsext)基础之上发展出来的,通过IP组播实现DNS查询。和DNS Service Discovery一起实现了苹果的Boujour协议。苹果设备,打印机厂商,Linux,Windows,嵌入式系统都用了这个协议。

一、(网络发现服务)nsd

https://developer.android.google.cn/training/connect-devices-wirelessly/nsd

1、它是什么?

MulticastDNS+DNS-SD

2、什么叫MulticastDNS?

DNS是什么?MulticastDns是什么?

image.png

2、DNS Service Discovery (DNS-SD)

DNS服务发现机制

域名样式:

Name._Type._tcp.local

Allen._sohuhy._tcp.local

3、使用条件

  • 在同一局域网下
  • 局域网没有禁用多播功能

二、JmDns

参考链接:

http://jmdns.sourceforge.net/

https://github.com/jmdns/jmdns

JmDns是什么:Java Multicast DNS,java版的多播DNS

三、公司网络发现不了服务

1、Ios同样发现不了_airport._tcp.local

2、wireshark抓包,也是只能抓到本机服务

怀疑公司网络关闭了组播功能

你可能感兴趣的:(Android局域网通信Boujour的实现方案)