ZBLOG

mDNS_SetupResourceRecord(&sr->RR_ADV, mDNSNULL, InterfaceID, kDNSType_PTR, kStandardTTL, kDNSRecordTypeAdvisory, artype, ServiceCallback, sr); 为什么RR_ADV也是kDNSType_PTR呢

在你提供的代码中,RR_ADV 被设置为 kDNSType_PTR 类型的原因与之前提到的类似。具体来说,这里有几点需要理解:

  1. 服务发现:在多播DNS(mDNS)中,PTR 记录用于服务发现。它们允许客户端查询网络上可用的服务。例如,当一个设备想要查找特定类型的服务时,它会发出一个查询请求,以获取该服务的 PTR 记录。

  2. 广告和响应RR_ADV 是一个“广告”资源记录,用于宣布某个服务的存在。在 mDNS 中,一个设备可以通过发送包含其相关信息的 PTR 记录来主动广播自己所提供的服务。

  3. 上下文依赖:即使是不同类型的记录,如共享(Shared)和广告(Advisory),使用相同类型(如 PTR)的原因通常是因为它们都涉及到指向相同类型的信息或服务。这里 artype 表示的是该广告资源记录所指向的具体服务类型,而使用 PTR 类型则是为了实现对该服务进行描述和定位。

  4. 设计选择:将 RR_ADV 设置为 kDNSType_PTR 可以视为一种设计上的一致性选择,以确保所有相关记录都能够正确地传达其目的,并符合 mDNS 服务发现协议。

因此,在这种情况下,即使 RR_ADV 是 Advisory 类型,其实际表示的信息还是关于某个可用服务,因此使用 PTR 作为记录类型是合理且必要的。


内容由零声教学AI助手提供,问题来源于学员提问

本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
转载请注明出处:https://golang.0voice.com/?id=20084

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
游客 游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~

联系我们

在线咨询: 点击这里给我发消息

微信号:3007537140

上班时间: 10:30-22:30

关注我们
x

注册

已经有帐号?