这段文字主要是关于环境变量 ROS_DISCOVERY_SERVER
的使用和配置,特别是在 Fast DDS(Data Distribution Service)中的应用。以下是对其内容的详细解释:
1. 环境变量的作用
ROS_DISCOVERY_SERVER
环境变量用于配置DomainParticipant
以连接一个或多个服务器。这个变量仅在发现协议设置为 SIMPLE、SERVER 或 BACKUP 时生效。
2. 如何使用该变量
- 当定义了
ROS_DISCOVERY_SERVER
且发现协议为 SIMPLE 时,Fast DDS 将会将其配置为给定服务器的客户端。 - 如果发现协议设置为 SERVER 或 BACKUP,则该变量用于添加远程服务器到当前服务器。
3. 地址格式
要指定的服务器地址可以采用多种格式,包括:
- IPv4 地址:如
192.168.2.23
,UDP 默认端口为11811,可通过:端口号
指定其他端口,如192.168.2.23:35665
。 - IPv6 地址:遵循 RFC3513 格式,例如
[1080::8:800:200C:417A]
,同样可以附加端口。 - TCP 地址:使用 TCP 协议时,可以通过前缀指定,如
TCPv4:[127.0.0.1]:42100
。
4. DNS 名称
还可以用 DNS 名称来指定地址,如:
- 普通域名:如
eprosima.com
- 带端口的域名:如
eprosima.com:35665
5. 多个服务器
如果需要设置多个服务器地址,可以用分号 (;
) 分隔。例如:
export ROS_DISCOVERY_SERVER="84.22.259.329:8888;localhost:1234"
6. 注意事项
- 提供的 IP 地址必须有效,并且如果提供的是域名,它必须能解析到有效的 IPv4 或 IPv6 地址。
- 在运行时可以更改此环境变量,以向已初始化过的 SERVER、BACKUP 或 CLIENT 添加新远程服务器(如果之前已经加载了该环境变量)。
这段说明主要帮助开发者理解如何在 Fast DDS 中正确配置和使用 discovery server,从而实现有效的数据分发和网络通信。
内容由零声教学AI助手提供,问题来源于学员提问