1. 项目概述
DDS路由器是由eProsima开发的跨平台非图形化应用程序,由Fast DDS提供支持,允许创建一个通信桥,连接两个DDS网络,否则将被隔离。DDS路由器的主要用途是通信两个物理或虚拟分离的DDS网络,这些网络属于不同的LAN,允许每个网络的实体模糊地发布和订阅本地和远程主题。
DDS路由器是一个内部运行参与者的应用程序,参与者是DDS域参与者的抽象。这些参与者中的每一个都是一个通信接口,是特定DDS网络配置的“门”。这些参与者允许应用程序同时连接到不同的DDS网络。每当这些参与者中的一个从其所连接的DDS网络接收到消息时,他们将通过其他参与者转发数据和消息源。DDS路由器配置及其操作主题取决于初始DDS路由器配置。
以下模式表示DDS路由器本地用例。此场景显示了由于传输协议(UDP、TCP等)、发现协议(简单、发现服务器等)或每个DDS实体使用的DDS域Id而彼此隔离的不同DDS网络。将DDS路由器配置为具有4个不同的参与者,每个参与者配置为一个独立的DDS网络,将在内部创建4个参与者。到达其中一个参与者的所有数据将通过其他参与者转发,从而允许所有机器彼此连接,而不受其不同配置的影响。该数据传输将在不复制数据的情况下完成,因为所有参与者将共享分配数据的指针,成功实现零复制通信机制。