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

Revision history [back]

I would basically prefer the Topics instead of the RPC call.

But actually RPCs have one big disadvantage.

Lets say you got a node calling process a on node_1 which inside this process has a call to node_b. Then there is something hanging on node_b. Like for example a process which does take to much performance or some loop whatever. That will make all the other nodes block as long as node_b is blocked, sometimes maybe forever.

In topic communication this won't happen. But there is also a minor disadvantage. If you publish a message on a topic, you do not get any response from it, well you could subscribe another topic of the other node to see if it received it, but in most cases you do not need a response. ROS btw. offers that RPC calls as well, it is called ROS services. I recently created my first service btw, after creating lots of nodes without them.

Actually I do not know anything about ICE.

Hope this could help you a bit.

Regards,

Christian