ZBLOG

12.1.3.1. Physical Data in Discovery Information It is possible to include the information conveyed in the PHYSICAL_DATA_TOPIC into the participant discovery message, a.k.a DATA[p] (see Discovery phases). This is done by setting the following pro...

这段文字主要讨论了在Fast DDS(一个实时数据分发服务)中如何通过属性设置将物理数据包含在参与者的发现信息中,特别是在 DATA[p] 消息中。这些物理数据包括主机名、用户和进程信息。下面是对主要内容的逐步解释:

1. 物理数据在发现信息中的使用

  • Fast DDS允许将物理数据(如主机名、用户名和进程ID)包含在参与者的发现消息中。
  • 要实现这一点,需要在 PropertyPolicyQos 中设置相应的属性。

2. 属性说明

以下是可以设置的属性及其默认值:

  • “fastdds.physical_data.host”: 应用程序运行所在主机的名称;默认未设置,但如果定义了 FASTDDS_STATISTICS 则默认为空字符串。
  • “fastdds.physical_data.user”: 运行应用程序的用户名称;同样,默认未设置。
  • “fastdds.physical_data.process”: 正在运行应用程序的进程名称;也默认为空字符串。

3. 默认值填充

如果这些属性被定义为”“,则Fast DDS会自动填充它们:

  • 主机名由 asio::ip::host_name() 返回,后面跟着“:”。
  • 用户名可以是当前用户或“unknown”,如果无法获取。
  • 进程ID为当前应用程序所在进程的ID。

4. 使用FASTDDS_STATISTICS

  • 如果定义了 FASTDDS_STATISTICS
    • 若不指定其他值,则使用Fast DDS设定的默认值。
    • 如果用户手动设置了这些属性,则使用用户提供的信息。
    • 移除这些物理属性将导致不传输任何相关信息。

5. C++代码示例

给出了一些C++代码示例,用于创建不同配置下的参与者:

  1. 创建带有默认物理属性的参与者
  2. 创建带有自定义物理属性的参与者
  3. 创建不发布任何物理属性的参与者
  4. 从XML文件加载物理属性

6. XML配置注意事项

XML配置文件中的设置优先于默认QoS,因此可以通过XML设置物理属性。但无法通过XML移除已经存在的属性,这意味着如果想要禁用发送这些信息,需要使用C++ API来删除这些属性。

总结

该段文字阐述了如何在Fast DDS中处理与物理层相关的信息,并提供了API和配置方法,以确保应用程序能够根据需要选择是否传递这些信息。理解这一过程对于开发高效且可管理的数据通信系统至关重要。


内容由零声教学AI助手提供,问题来源于学员提问

本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
转载请注明出处:https://sdn.0voice.com/?id=7370

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
游客 游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~

联系我们

在线咨询: 点击这里给我发消息

微信号:3007537140

上班时间: 10:30-22:30

关注我们
x

注册

已经有帐号?