这段文字讨论了在 eProsima Fast DDS 中启用 TCP 传输的几种方法,具体描述了如何配置内置传输。
概述
eProsima Fast DDS 是一个用于数据分发服务的中间件。启用 TCP 传输可以通过不同的方法实现,取决于具体场景的需求。
6.3.2.1. 配置内置传输
第一种选择是修改负责创建 DomainParticipant 传输的内置传输。当前配置使能 TCP 传输的是 LARGE_DATA。此选项会实例化三个类型的传输:UDPv4、TCPv4 和共享内存 (SHM)。
- UDP 协议:在参与者发现阶段使用,用于多播公告。
- TCP 或 SHM:用于参与者活跃性检查和应用数据交付。
这个配置支持自动发现,不需要手动设置每个参与者的 IP 和监听端口,从而避免了典型的客户端-服务器配置。
配置方式
内置传输可以通过以下几种方式进行配置:
环境变量
- 可以使用
FASTDDS_BUILTIN_TRANSPORTS
环境变量来指定。 - 示例命令:
export FASTDDS_BUILTIN_TRANSPORTS=LARGE_DATA
- 可以使用
XML 配置文件
- 可以通过 XML 配置文件进行设置,具体参考 RTPS 元素类型(RTPS element type)。
代码中直接配置
- 开发者也可以在代码中直接进行相关配置。
注意事项
使用 LARGE_DATA 配置时,会同时创建一个共享内存 (SHM) 传输,这意味着在可能的情况下将优先使用共享内存。如果要求必须使用 TCP 通信而共享内存又是可行的话,则需要手动进行相关设置(见大型数据模式)。
内容由零声教学AI助手提供,问题来源于学员提问