我有一个 C++ ROS 节点,它使用 ROSBridge 通过 TCP WebSocket 在端口 9090 上将 ROS 主题作为 JSON 字符串发送。在同一台计算机上,我有一个 C# Unity 程序,它需要访问 JSON 并发送它自己的一些。如果我把这个程序放在另一台计算机上没有问题——我可以访问端口 9090 并查看 JSON。但是如果和ROSBridge Host在同一台电脑上,那么使用同一个端口就会有冲突。因此,这两个应用程序无法在同一台 PC 上相互通信,但它们可以在不同的 PC 上进行通信。
那么我能做什么呢?端口是否必须匹配并因此总是发生冲突,或者我可以以某种方式使进程 A 在 9090 上发送但在 9091 上接收而进程 B 正好相反或什么?还有其他选择吗?本质上,我试图让 Unity 参与 ROS 通信,但它没有对此的原生支持,因此没有使用 ROSBridge JSON 字符串的解决方法。
森栏
慕沐林林
相关分类