mDNS__2018.07.30
本文作者:Binkery
本文地址:https://www.binkery.com/archives/318.html
版权声明:欢迎任何形式的转载,但请务必注明出处,尊重他人劳动成果
mDNS 的工作原理
首先,在 IP 协议里规定了一些保留地址,其中有一个是 224.0.0.251,对应的 IPv6 地址是 [FF02::FB]。
mDNS 协议规定了一个端口,5353。
mDNS 基于 UDP 协议。
每个进入局域网的主机,如果开启了mDNS服务的话,都会向局域网内的所有主机组播一个消息,我是谁,和我的IP地址是多少。然后其他也有该服务的主机就会响应,也会告诉你,它是谁,它的IP地址是多少。当然,具体实现要比这个复杂点。
比如,A主机进入局域网,开启了 mDNS 服务,并向 mDNS 服务注册以下信息:我提供 FTP 服务,我的IP是 192.168.1.101,端口是 21。当B主机进入局域网,并向 B 主机的 mDNS 服务请求,我要找局域网内 FTP 服务器,B主机的 mDNS 就会去局域网内向其他的 mDNS 询问,并且最终告诉你,有一个IP地址为 192.168.1.101,端口号是 21 的主机,也就是 A 主机提供 FTP 服务,所以 B 主机就知道了 A 主机的 IP 地址和端口号了。
大概的原理就是这样子,mDNS提供的服务要远远多于这个,当然服务多但并不复杂。
在Apple 的设备上(电脑,笔记本,iphone,ipad等设备)都提供了这个服务。很多Linux设备也提供这个服务。Windows的设备可能没有提供,但是如果安装了iTunes之类的软件的话,也提供了这个服务。
这样就可以利用这个服务开发一些局域网内的自动发现,然后提供一些局域网内交互的应用了。
jmDNS 是一个 JAVA 平台的,提供 mDNS 服务的第三方库。在这个 jar 包引入到 Android 项目里,就可以获得 mDNS 服务了。Android 在 3.x 还是 4.x 之后已经提供局域网内自动发现的 API 了,所以不需要使用 jmDNS 第三方库就能实现了。
mDNS__2018.07.30相关推荐
- 2019.07.30 学习整理
2019.07.30 学习整理 数据类型 1. 什么是数据类型 数据类型指的就是变量值的不同类型 2. 为何对数据分类? 变量的是用来反映状态以及状态变化的,毫无疑问针对不同的状态就应该用不同类型的数 ...
- 2018.07.30 巴别时代
* 项目部署更新 用符号链接 project => project1, project2 ln -s project2 project * composer自动加载机制 namespace =& ...
- .net remoting http://www.cnblogs.com/wayfarer/archive/2004/07/30/28723.html
http://www.cnblogs.com/wayfarer/archive/2004/07/30/28723.html
- Python开发-- Lesson 2--Python数据类型(2016/07/30)
1.文件操作 python中对文件.文件夹(文件操作函数)的操作需要涉及到os模块和shutil模块. 得到当前工作目录,即当前Python脚本工作的目录路径: os.getcwd() 返回指定目录下 ...
- 07.30《jQuery》——1.1DOM对和jQuery对象的转化
1.dom对象--->jQuery对象 $(DOM对象):是把DOM对象转化成JQuery对象 演示代码 //1.dom对象---->jQuery对象 var div1 = documen ...
- Linux操作Oracle(17)——linux oracle启动时 :各种报错 解决方案(2020.07.30更新...)
我们在linux下启动oracle服务: 第一个:启动监听服务时:执行命令:lsnrctl start :此时报command not found(这是我们在linux里见过最多的错误了吧) 原因:那 ...
- 基于形状图像检索的形状描述符评估——18.07.30
论文信息:<Evaluation of Shape Descriptors for Shape-Based Image Retrieval>--2011年 这篇论文,比较了四种形状描述符, ...
- 2018.07.30 bzoj4355: Play with sequence(线段树)
传送门 维护区间覆盖成非负数,区间变成max(xi+a,0)max(xi+a,0),询问区间中00的个数. 由于每次操作之后区间中都是非负数,因此相当于只用维护最小值和最小值的个数. 对于将一个区间变 ...
- 青龙快手极速版最新撸毛脚本(2022.07.30)KS()
脚本如下: (没接口的别用)快手极速版-接口版 更新1.08 脚本地址: ql raw https://raw.githubusercontent.com/leafTheFish/DeathNote/ ...
最新文章
- java spring注解教程,spring注解
- 为什么人人都该懂点LLVM
- 云栖科技评论NO.2 | 张学友演唱会逃犯集中落网,真正的“神捕”其实是AI
- 【Win 10应用开发】SplitView控件
- 深度 | 用代码构建机器心智,我们离这个目标还有多远?
- wireshark解析rtp协议,流媒体中的AMR/H263/H264包的方法
- python 编程算法_python语言编程算法
- Python数模笔记-NetworkX(1)图的操作
- 面试官系统精讲Java源码及大厂真题 - 07 List 源码会问哪些面试题
- 138. Copy List with Random Pointer
- 秒懂商用区块链关键技术:智能合约
- 桥接模式与路由模式有什么不同
- Entrust Datacard新一代再转印证卡打印机系列喜获蓝盾杯创新奖
- 修改Echarts源码实现柱状图的炫彩闪烁效果
- Photoshop修图的常用方法与技巧一
- 依赖倒转原则和里氏代换原则详解
- php识别图片的条码,如何用php实现生成条形码图片
- Android事件分发机制在实战开发中的应用之二
- ansys workbench收敛判断
- 狭义相对论--洛仑兹变换推导