OpenDDS 参与者无法发现彼此

OpenDDS participants could not discovery each other

最近尝试使用OpenDDS-3.12进行通信。我想与位于其他 WAN 的其他两台主机进行通信。但是,参与者无法发现彼此。我该如何解决这个问题??

这是我的交流环境:

我有两个主机。 HostA 和 Host B 是我的桌面(Ubuntu 16.04)。此外,两台主机具有 public IP 地址(可见)并禁用防火墙。我已经通过telnet命令检查了特定端口号是否可用。

我使用了 OpenDDS-3.12 和 $OpenDDS_HOME/tests/DCPS/Messenger 的例子。

在 HostA 中,启用

$ DCPSInfoRepo -ORBListenEndpoints iiop://:12345

订阅者是这样操作的:

$ ./subscriber -DCPSInfoRepo <HostA's IP>:12345 -DCPSConfigFile sub_multicast.ini

在 HostB 中, 目录相同,发布者操作如下:

$ ./publisher -DCPSInfoRepo <HostA's IP>:12345 -DCPSConfigFile pub_multicast.ini

此处发布者的 return 错误消息:

# ./publisher -DCPSInfoRepo <HostA's IP>:12345 -DCPSConfigFile pub_multicast.ini
Starting publisher
(8921|139698127107904) NOTICE: using DCPSInfoRepo value from command option (overrides value if it's in config file).
Starting publisher with 1 args
Reliable DataWriter
Creating Writer
Starting Writer
(8921|139697959323392) WARNING: SynWatchdog[transport=3]::on_timeout: timed out waiting on remote peer: 0x30c5d67200000007 local: 0x30c5d67200000005

发现其他每个 WAN 主机的正确配置是什么?

希望你能帮助我。

发布者和订阅者都使用rtps_uni.ini