Robotics StackExchange | Archived questions

ROSBridge For Multiple Processes

I have ROSBridge and I've successfully managed to implement it, but only so long as my other process is on a different machine. I run it on port 9090 and I run Unity on a different machine on port 9090 and they talk just fine. If I move the Unity app to the same machine, however, it never connects. I assume because two processes can't both use port 9090 simultaneously. So is it not possible to use ROSBridge between processes on the same machine? Or what do I need to do to get this to work?

Asked by CodeMonkey on 2019-01-16 11:51:02 UTC

Comments

How are you launching the bridge and what kind of topics are you bridging? I have a dynamic bridge that correctly bridges a large number of topics / processes and did not do anything special. Do you have the ROS1 core running on the machine with the bridge?

Asked by borgman_jeremy on 2019-01-22 17:03:45 UTC

I'm launching the bridge from the terminal. It's not a problem with the bridge though since I can use it from a Windows machine. It turns out the problem is with Unity when building for Linux. It's not getting the right packages and thus fails to connect a websocket. Not sure if I can fix myself...

Asked by CodeMonkey on 2019-01-23 13:39:58 UTC

Answers

It is not a port conflict. The host port uses port 9090 but the client port uses a randomly assigned port for the sake of reaching out to port 9090. This is otherwise entirely feasible and the problem lies somewhere else.

Asked by CodeMonkey on 2019-01-22 15:43:55 UTC

Comments