首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >mDNS到底是如何解析地址的?

mDNS到底是如何解析地址的?
EN

Stack Overflow用户
提问于 2012-08-07 04:54:53
回答 1查看 19.6K关注 0票数 20

一旦通过DNS-SD发现了服务,该主机的地址究竟是如何解析的,是否会花费更多的时间/开销?

此外,如果我使用的是JmDNS或Bonjour,serviceFoundserviceResolved都会有回调。如果我只对发布某个服务的设备的IP地址感兴趣,有没有比同时通过serviceFoundserviceResolved获取地址的更快/更有效的方法

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-09-04 01:04:22

DNS-SD使用多播DNS (MDNS),其工作原理是通过UDP将DNS数据包发送到特定的多播地址。网络中所有支持mdns的主机也监听该地址。它使用UDP,所以开销很低。此外,客户端的设计方式是通过使用广泛的缓存将网络上的聊天数量保持在最低限度。

服务发现是一个两步的过程。第一步是找到提供某种服务(例如打印)的所有主机的名称。这还不会为您提供ip地址,而是为您提供mdns名称(以.local结尾)。这是因为ip可能会改变,而名称不会改变。

服务发现的第二步是通过mdns解析主机的.local名称。您通过多播询问foo.local是谁,foo.local将看到该数据包,并通过广播响应其ip地址、端口号和其他信息。

票数 39
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11835782

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档