目标:让进程 A 通过 TCP 向进程 B 发送消息,反之亦然(我使用的是 ROSBridge)。
问题:一次只有一个进程可以使用一个端口
解决方案(?):让进程 A 使用端口 9090,但将流量转发到 9091,让进程 B 使用端口 9091,但将流量转发到端口 9090。
问题:这个解决方案会起作用还是我会得到一个重复数据的无限循环?有什么办法不这样做吗?如果这可行,我该如何设置?如果它不起作用,我还能做什么?
目标:让进程 A 通过 TCP 向进程 B 发送消息,反之亦然(我使用的是 ROSBridge)。
问题:一次只有一个进程可以使用一个端口
解决方案(?):让进程 A 使用端口 9090,但将流量转发到 9091,让进程 B 使用端口 9091,但将流量转发到端口 9090。
问题:这个解决方案会起作用还是我会得到一个重复数据的无限循环?有什么办法不这样做吗?如果这可行,我该如何设置?如果它不起作用,我还能做什么?
听起来我对端口的了解不足。ROSBridge 的主机被设置为使用端口 9090,因此任何希望连接到它的人都将请求主机的端口 9090 进行连接,但仍会使用它自己想要的任何端口。在这两个应用程序中,我可以声明“主机”端口是 9090 没有冲突,因为客户端应用程序仍然会打开一个随机的其他端口供自己使用以连接到主机端口。因此,我遇到的麻烦不是“端口共享”,因为这不是正在发生的事情。只有一个托管在 9090 上。