Fast DDS作为一种数据分发服务(DDS)实现,提供了发现机制,允许跨域参与者自动查找和匹配DataWriter和DataReader,以便他们可以开始共享数据。对于所有机制,此发现分两个阶段执行。
发现阶段
- Participant Discovery Phase参与者发现阶段(PDP):在此阶段,域参与者确认彼此的存在。为此,每个DomainParticipant都会定期发送通知消息,其中指定了DomainParticipate侦听传入元和用户数据流量的单播地址(IP和端口)。当两个给定的DomainParticipant存在于同一DDS域中时,它们将匹配。默认情况下,使用已知的多播地址和端口(使用DomainId计算)发送通知消息。此外,还可以指定使用单播发送通知的地址列表(请参阅初始对等体中的)。此外,还可以配置此类通知的周期性(请参阅发现配置)。
- Endpoint Discovery Phase端点发现阶段(EDP):在此阶段,DataWriter和DataReader相互确认。为此,DomainParticipants使用PDP期间建立的通信信道,彼此共享有关其DataWriter和DataReader的信息。除其他外,此信息还包含主题和数据类型(请参阅主题)。要使两个端点匹配,其主题和数据类型必须一致。一旦DataWriter和DataReader匹配,它们就可以发送/接收用户数据流量了。
可以使用
本文深入探讨了Fast DDS的发现机制,包括参与者发现PDP和端点发现EDP阶段,以及简单的发现协议。介绍了常规发现设置如忽略参与者标志、租约持续时间和公告周期,并详细阐述了静态和发现服务器设置。静态发现允许预先知道所有DataWriter和DataReader,而发现服务器则采用集中式架构管理元流量。此外,还讨论了微调发现服务器握手和在运行时修改远程服务器列表的可能性。
订阅专栏 解锁全文
5995

被折叠的 条评论
为什么被折叠?



