DDS中如何实现请求响应机制?

How to implement request response mechanism in DDS?

我是 DDS 的新手,我正在使用 CyclonesDDS c++ 包

据我所知DDS实现机制是published/subscribe

是否可以在DDS中执行请求-响应?就像在 clenet 服务器应用程序中一样?

客户端 pc 将请求数据,然后中央 pc 将响应数据

我应该在程序中逻辑地实现它吗?以下方式是最佳方式

客户端 PC -> 请求逻辑 -> 客户端 PC 发布到请求数据主题

central PC -> waiting for requst topic -> central PC subscribe requestData 检查是否有数据请求

中央 PC -> 响应逻辑 -> 中央 PC 将数据发布到 dataWrite 主题

client PC -> waiting for data topic -> central PC subscribe dataWrite topic and read data

是否有执行此操作的回调函数?

是的,可以通过 DDS 实现请求-响应逻辑。事实上,OMG RPC Over DDS specification 使用 DDS 的基本构建块定义了一个远程过程调用 (RPC) 框架。这似乎提供了您正在寻找的内容。

对于将这种逻辑作为其产品的一部分实现的供应商提供的一些具体文档,您可以查看 RTI Connext User's Manual Part 4: Request-Reply Communication Pattern