ZBLOG

fastdds PDP EDP

在 Fast DDS(Fast RTPS)中,PDP(Participant Discovery Protocol)和 EDP(Endpoint Discovery Protocol)是两个核心的发现协议,它们分别负责不同类型的信息交换,以确保 DDS 系统中参与者之间的有效通信。

1. PDP(Participant Discovery Protocol)

功能

  • PDP 的主要任务是发现和维护网络中的参与者信息。它允许新的参与者加入到 DDS 网络中,并让现有参与者得知这些变化。

工作原理

  • Participant Discovery Messages:当一个新的参与者启动时,它会通过 UDP 广播或多播发送 Participant Discovery 消息。这些消息包含该参与者的 GUID(全球唯一标识符)、QoS 策略、支持的主题等信息。

  • 状态管理:每个参与者会维护一个关于网络中其他所有已知参与者的列表,这样可以跟踪其状态。当新的参与者加入或现有参与者离开时,PDP 会更新这个列表。

  • 心跳机制:为了保持与其他参与者的联系,PDP 使用心跳机制来定期检查活跃性。如果某个参与者未能按时发送心跳消息,其它参与者将认为它已经失效,并从列表中移除。

2. EDP(Endpoint Discovery Protocol)

功能

  • EDP 主要用于发现和管理数据写入器(Data Writers)和数据读取器(Data Readers)之间的信息。即使是在同一网络中的不同主题下,EDP 也负责确保它们能够正确地相互识别和连接。

工作原理

  • Endpoint Discovery Messages:每当一个新的数据写入器或数据读取器被创建时,它会发送 Endpoint Discovery 消息。这些消息包括其特定的 QoS 属性以及可用主题的信息。

  • 状态同步:EDP 确保所有已知的数据写入器和数据读取器都能够实时更新彼此的信息。当新的终端节点出现或消失时,EDP 会通知相关方并进行相应更新。

总结

  • PDP 和 EDP 的协同作用
    • PDP 和 EDP 是分开的,但互相依赖。PDP 首先保证了整个系统中的参与者可以被找到,而 EDP 则确保各个数据通道在这些已知的参与者间顺利沟通。

这两种协议共同构成了 Fast DDS 的基础,使得动态环境下的数据交换更加高效与可靠。如果需要更详细的信息或具体代码示例,请告诉我!


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

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

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

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

联系我们

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

微信号:3007537140

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

关注我们
x

注册

已经有帐号?