【FastDDS】Discovery ( 05-Discovery Server Settings)
发现服务器设置
这种机制基于客户端-服务器发现模式,即元流量(域参与者之间用于识别彼此的消息交换)由一个或多个服务器域参与者管理(左图),而在简单发现(右图)中,元流量通过IP多播协议等消息广播机制进行交换。有一款发现服务器工具可简化发现服务器的设置和测试。
注意:启用默认发现服务器机制时,DDS域概念不适用,但在使用ROS2_EASY_MODE时适用。
1. 关键概念
在该架构中,有几个关键概念需要理解:
- 发现服务器机制复用RTPS发现消息结构,以及标准的DDS数据写入器(DataWriters)和数据读取器(DataReaders)。
- 发现服务器域参与者可以是客户端或服务器。它们之间的唯一区别在于处理发现流量的方式。用户流量(即它们创建的数据写入器和数据读取器之间的流量)与角色无关。
SERVER
(服务器)是客户端(可能还有其他服务器)向其发送发现信息的参与者。- 服务器的作用是将其客户端的发现信息重新分发给已知的客户端和服务器。
- 服务器还会向已知服务器公告新服务器的存在,反之亦然。这样,新服务器只需知道网络中一个现有服务器的存在,就能连接到其他所有现有服务器,从而以最少的配置形成服务器之间的网状拓扑。
- 重新分发的发现信息可能来自直接连接到该
SERVER
的客户端,也可能来自正在转发其客户端发现数据的其他服务器。 - 已知服务器将接收该服务器已知的直接客户端的所有信息以及其他服务器的参与者信息(用于公告新服