0

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

这是我的通信环境:

我有两个主机。HostA 和 Host B 是我的桌面(Ubuntu 16.04)。此外,两台主机具有公共 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

发布者在此处返回错误消息:

# ./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 主机的正确配置是什么?

希望你能帮助我。

4

1 回答 1

1

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

于 2018-09-06T00:56:51.803 回答