很明显,我尝试使用OpenDDS-3.12进行通信。我想与位于其他WAN的其他两台主机进行通信。但是,参与者无法互相发现。我怎样才能解决这个问题?
以下是我的沟通环境:
我有两个主机。 HostA和Host B是我的Destktop(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的返回错误消息:
# ./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主机的正确配置是什么?
希望你帮帮我。
答案 0 :(得分:1)
同时为发布者和订阅者使用rtps_uni.ini