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

does DDS support communication across a Cut Vertex?

我做了什么:

三个节点(比如1、2、3)由两条电缆连接,即

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

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

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

我失败的地方:

我以为按照这样的定义,节点13应该互相通信,但实际上他们没有。

我的问题是:

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

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

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

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