最近,我努力在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在不同子网中发现主机?
答案 0 :(得分: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
但是,新问题是如何确认此安全功能正常工作? 当我通过wirehrk捕获数据包时,我可以看到未加密的数据。 我使用了OpenDDS Messenger安全示例。