OpenDDS - DCPSInfoRepo 被终止,但发布者和订阅者正在通信

Posted

技术标签:

【中文标题】OpenDDS - DCPSInfoRepo 被终止,但发布者和订阅者正在通信【英文标题】:OpenDDS - DCPSInfoRepo is killed but the publisher and subscriber are communicating 【发布时间】:2017-08-18 03:54:28 【问题描述】:

我正在使用来自OpenDDS-3.11/examples/DCPS/IntroductionToOpenDDSOpenDDS DCPS 示例在Ubuntu 16 上进行锻炼。根据在同一位置找到的AAA_README.txt,我首先开始DCPSInfoRepoOpenDDS-3.11/bin/DCPSInfoRepo -ORBEndpoint iiop://localhost:12345,然后分别是subscriberpublisher

我可以让publisher 发布和subscriber 接收订阅的主题。我了解 DCPSInfoRepo 创建 repo.ior 将包含参与者的条目。

但是如果我杀死DCPSInfoRepo,我可以看到publishersubscriber 继续通信,但显然无法添加另一个参与者,因为DCPSInfoRepo 没有运行。

我想知道为什么publishersubscriber 在没有DCPSInfoRepo 的情况下继续通信。添加参与者后我们不需要DCPSInfoRepo服务器吗?请澄清。

【问题讨论】:

【参考方案1】:

DCPSInfoRepo 仅用于发现,在发布者/订阅者相互认识的那一刻,即使没有 DCPSInfoRepo,他们也会继续通信。

我建议您使用来自 DDS 标准的 RTPS 发现。这完全消除了对 DCPSInfoRepo 的需求(这是单点故障)。

【讨论】:

感谢您的澄清。现在,我了解了 DCPSInfoRepo 的作用。感谢您提供有关 RTPS 的提示,但它是否支持通过 TCP 或仅 UDP 连接的端点。我对 DDS 还很陌生。任何指针将不胜感激。

以上是关于OpenDDS - DCPSInfoRepo 被终止,但发布者和订阅者正在通信的主要内容,如果未能解决你的问题,请参考以下文章

OpenDDS 中的哪个库包含“OpenDDS::DCPS::operator<<”?

OpenDDS - Windows下安装过程(VS2015)

为啥 OpenDDS 无法编译?

Opendds-3.13 发布构建失败

配置 OpenDDS

OpenDDS - 从单个 IDL 结构创建多个主题