我在OpenDDS
OpenDDS-3.11/examples/DCPS/IntroductionToOpenDDS
上使用Ubuntu 16
DCPS示例进行锻炼。根据在同一位置找到的AAA_README.txt
,我首先开始DCPSInfoRepo
OpenDDS-3.11/bin/DCPSInfoRepo -ORBEndpoint iiop://localhost:12345
,然后分别开始subscriber
和publisher
。
我可以获得publisher
发布和subscriber
接收订阅的主题。我了解DCPSInfoRepo
创建了repo.ior
,其中包含参与者的条目。
但如果我杀了DCPSInfoRepo
,我可以看到publisher
和subscriber
继续沟通,但显然无法添加其他参与者,因为DCPSInfoRepo
未运行。< / p>
我想知道为什么publisher
和subscriber
会在没有DCPSInfoRepo
的情况下继续沟通。添加参与者后,我们不需要DCPSInfoRepo
服务器吗?请澄清。
答案 0 :(得分:1)
DCPSInfoRepo仅用于发现,目前发布者/订阅者知道他们即使没有DCPSInfoRepo也会保持通信。
我建议您使用来自DDS标准的RTPS发现。这完全消除了对DCPSInfoRepo的需求(这是单点故障)。