5.1. 发现阶段
参与者发现阶段(PDP):在此阶段,DomainParticipants互相确认对方的存在。为此,每个DomainParticipant会周期性地发送宣告消息,其中指定了(除其他信息外)DomainParticipant监听传入元数据和用户数据流量的单播地址(IP和端口)。当两个给定的DomainParticipants存在于同一个DDS域中时,它们将完成匹配。默认情况下,宣告消息使用众所周知的组播地址和端口发送(通过DomainId计算得出)。此外,还可以指定一个地址列表来使用单播发送宣告(参见初始对等端)。而且,也可以配置此类宣告的周期(参见发现配置)。
端点发现阶段(EDP):在此阶段,DataWriters和DataReaders互相确认对方。为此,DomainParticipants通过PDP阶段建立的通信通道共享彼此关于其DataWriters和DataReaders的信息。这些信息包含(除其他信息外)主题和数据类型(参见主题)。为了使两个端点匹配,它们的主题和数据类型必须一致。一旦DataWriter和DataReader完成匹配,它们就准备好发送/接收用户数据流量。
重要
可以使用PDP阶段传输有关DomainParticipant所运行的主机、用户和进程(物理信息)的信息。有关如何配置传输的物理数据,请参阅《发现信息中的物理数据》。
5.2. 发现机制
Fast DDS提供以下发现机制:
简单发现:Simple Discovery:这是默认机制。它在PDP和EDP上都支持RTPS标准,因此可与任何其他DDS和RTPS实现兼容。
静态发现:该机制在PDP阶段使用简单参与者发现协议(SPDP)(如RTPS标准所规定),但当所有DataWriters和DataReaders的IP和端口、数据类型以及主题都预先已知时,允许跳过简单端点发现协议(SEDP)阶段。
发现服务器:此发现机制使用集中式发现架构,其中一个被称为服务器的DomainParticipant充当元流量发现的中心枢纽。
手动发现:该机制仅兼容RTPS层。它禁用PDP,允许用户使用其选择的任意外部元信息通道手动匹配和取消匹配RTPSParticipants、RTPSReaders和RTPSWriters。因此,用户必须访问由DomainParticipant实现的RTPSParticipant,并直接匹配RTPS实体。
190

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



