如何使用rtps_discovery

时间:2018-09-26 10:58:43

标签: ssl network-programming opendds

最近,我努力在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在不同子网中发现主机?

1 个答案:

答案 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安全示例。