1

最近,我尝试在 WAN 网络中使用 OpenDDS SSL。但是我所有的尝试都失败了。这是由于无法找到不同的主机造成的。我意识到一件事。OpenDDS 安全应该使用 rtps_discovery,而不是 InfoRepo,并且很难通过 rtps_discovery 找到不同子网中的两个主机。我已经从 SourceForge、github 和 stackoverflow 搜索了有关通过 rtps_discovery 选项发现主机的信息。但是,没有人以这种方式成功。

https://sourceforge.net/p/opendds/mailman/message/36320180/

https://github.com/objectcomputing/OpenDDS/issues/854

所以,我的问题是如何在 WAN 网络上使用 rtps_discovery 找到主机。

这是我的ini文件:

[common]
DCPSGlobalTransportConfig=$file
DCPSSecurity=1

[domain/4]
DiscoveryConfig=uni_rtps

[rtps_discovery/uni_rtps]
SedpMulticast=0
ResendPeriod=2
SpdpSendAddrs=publisher's IP:56789

[transport/the_rtps_transport]
transport_type=rtps_udp
use_multicast=0
local_address=subscriber's IP:55555

请给我一些解决这个问题的想法真的不可能通过rtps_discovery发现不同子网中的主机吗?

4

1 回答 1

0

我终于成功使用 rtps 发现进行通信了!它只是将 SpdpSendAddrs 属性设置为 8410 端口。像这样:

[common]
DCPSGlobalTransportConfig=$file
DCPSSecurity=1

[domain/4]
DiscoveryConfig=uni_rtps

[rtps_discovery/uni_rtps]
SedpMulticast=0
ResendPeriod=2
SpdpSendAddrs=subscriber's IP:8410

[transport/the_rtps_transport]
transport_type=rtps_udp
use_multicast=0

但是,新的问题是如何确认此安全功能正常工作?当我通过wireshrk捕获数据包时,我可以看到未加密的数据。我使用了 OpenDDS Messenger 安全示例。

于 2018-09-27T05:03:37.497 回答