最近,我尝试使用 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 主机的正确配置是什么?
希望你能帮助我。