ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange |
1 | initial version |
I'm agree with @Wolf ; you should design your software in a way that makes sense first, and optimize second.
That said, here are a few details about how ROS is implemented:
ROS topics create a TCP connection for each connection of a topic between a publisher and a subscriber.
The operating system can usually handle a very large number of open sockets (thousands per process), and when communicating between processes that are on the same host, the performance of a TCP connection is comparable to the performance of shared memory.
Actionlib is implemented with topics. ROS services are implemented as a single TCP connection between each client and the server.