ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

Revision history [back]

click to hide/show revision 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.