Networking OpenDDS:如何通过公共网络(WAN)与两台主机通信

Networking OpenDDS:如何通过公共网络(WAN)与两台主机通信,networking,data-distribution-service,wan,opendds,Networking,Data Distribution Service,Wan,Opendds,因此,我成功地通过OpenDDS在同一子网中通信了两台主机。 但是,我希望通过公共网络或WAN与其他两台主机通信。它不起作用。 我怎样才能解决这个问题 以下是我的沟通环境: 我有两位主人。 主机A是AWS(亚马逊网络服务),主机B是我的目的地。另外,两台主机具有公共IP地址并禁用防火墙。我已经通过telnet命令检查了特定端口号是否可用。像这样: $ telnet <HostA IP's> 12345 $ ./subscriber -DCPSConfigFile sub_multi

因此,我成功地通过OpenDDS在同一子网中通信了两台主机。 但是,我希望通过公共网络或WAN与其他两台主机通信。它不起作用。 我怎样才能解决这个问题

以下是我的沟通环境:

我有两位主人。 主机A是AWS(亚马逊网络服务),主机B是我的目的地。另外,两台主机具有公共IP地址并禁用防火墙。我已经通过telnet命令检查了特定端口号是否可用。像这样:

$ telnet <HostA IP's> 12345
$ ./subscriber -DCPSConfigFile sub_multicast.ini
$ ./publisher -DCPSInfoRepo <HostA's IP>:12345 -DCPSConfigFile pub_multicast.ini
DCPSInfoRepo -ORBListenEndpoints iiop://:12345
用户操作如下:

$ telnet <HostA IP's> 12345
$ ./subscriber -DCPSConfigFile sub_multicast.ini
$ ./publisher -DCPSInfoRepo <HostA's IP>:12345 -DCPSConfigFile pub_multicast.ini
DCPSInfoRepo -ORBListenEndpoints iiop://:12345
在HostB中

目录是相同的子目录,然后publisher的操作如下:

$ telnet <HostA IP's> 12345
$ ./subscriber -DCPSConfigFile sub_multicast.ini
$ ./publisher -DCPSInfoRepo <HostA's IP>:12345 -DCPSConfigFile pub_multicast.ini
DCPSInfoRepo -ORBListenEndpoints iiop://:12345

$。/publisher-DCPSInfoRepo我对同样的问题感兴趣。我想从AWS到我的应用程序进行类似的运行

目前正在使用websocket解决路由器Nat问题。我正在本地网络中运行dcpsInfoRepo。但我在不同子网的设备中发现问题。我不确定所有路由器都支持多播。所以使用tcp连接

我终于解决了我的问题 只需更改Discovery server主机并使用rtps_uni.ini文件。 像这样:

$ telnet <HostA IP's> 12345
$ ./subscriber -DCPSConfigFile sub_multicast.ini
$ ./publisher -DCPSInfoRepo <HostA's IP>:12345 -DCPSConfigFile pub_multicast.ini
DCPSInfoRepo -ORBListenEndpoints iiop://:12345
用户端:

./subscriber -DCPSDebugLevel=5 -DCPSInfoRepo HostA:12345 -DCPSConfigFile rtps_uni.ini
发行方:

 ./publisher -DCPSInfoRepo HostA:12345 -DCPSConfigFile rtps_uni.ini