DDS 是否支持跨切割顶点的通信?



我做了什么:

三个节点(例如 1、2、3)通过两根电缆连接,即

1------2====3

其中节点2有两个接口分别连接到13

我定义了一个键控主题T + KeyA并将其应用于13,同时在节点2上定义了不同的键控主题T + KeyB

我失败的地方:

我认为根据这样的定义,节点13应该相互通信,但实际上它们没有。

我的问题是

当我不希望节点2主动响应消息时,如何让节点1与节点3通信?使用DDS可以吗?感谢您的任何帮助。

看起来您需要一些东西来桥接节点 2 之间的 DDS 流量。 默认情况下不会发生这种情况,但肯定有一些选项可以使其工作。

它可以在较低的网络层完成。 [您不指定网络层;我假设以太网。 通过将节点 2 设置为充当路由器,并配置其行为的各个方面,您应该能够让 DDS 网络流量无缝通过它。 这可能有些复杂,并且需要了解路由器配置和DDS网络协议(RTPS)的一些细节。

或者,您可以在节点 2 上部署 DDS 应用程序。该应用程序需要执行"桥接"功能,接受来自连接到节点 1 的接口的数据,并将其重复到连接到节点 3 的接口;反之亦然。 此应用程序将在网络堆栈中的"更高"级别运行。 一些DDS供应商提供了完全实现这一点的工具(例如:我的公司Twin Oaks Computing的CoreDX DDS Mux产品)。

最新更新