FastDDS、OpenDDS、ConnextDDS三者之间是能够实现通信的

一、Connext DDS 与 FastDDS

1.1 FastDDS发布数据,ConnextDDS订阅数据

image

1.2 ConnextDDS发布数据,FastDDS订阅数据

image

二、FastDDS 与 OpenDDS

image

变换一下收发启动的顺序:
image
32G内存好吧,还是显示没内存了(翻车现场)。看现象应该是序列化使用的buffer出错了,内存溢出,问题的解释一句话:他是个bug。姑且算Fast DDS节点与OpenDDS 进行交互是行得通的吧。

三、ConnextDDS与 OpenDDS

image

其实吧有一个问题,接下来看,当我先开启opendds的发布节点时会提示错误,但是并不影响通信
image

确实哎,RTPS header for SPDP, 那这是啥呀?
答:SPDP全称是 Simple Participant Discovery Protocol(SPDP),这是DDS节点发现过程中的第一个阶段,这个阶段完成之后进入下一个阶段Simple Endpoint Discovery Protocol (SEDP) 。只有这两个阶段全部完成之后才会进入真正的数据交互。这应该是OpenDDS的版本问题,是一个bug。

image

只要不同厂家实现的DDS是符合OMG的标准的,那么相互通信就没有什么问题。

原文链接:https://blog.csdn.net/Tom942067059/article/details/113382934

posted @ 2022-07-21 14:56  时光如你般美好  阅读(2077)  评论(0编辑  收藏  举报