Services in ROS are used for synchronous communication where a node sends a request and waits for a response. Topics are used for asynchronous, continuous data streaming.
Service clients in ROS receive an error if the service server is not available when they call it. They do not wait indefinitely or switch to topics.
If the subscriber cannot keep up, it will drop messages depending on queue size and settings. Usually, it processes the latest messages, skipping some older ones.
ROS service files separate request and response parts with '---'. The types must match the intended data.
If the service server is not available, the client waits for a response and can hang. Other issues would cause different symptoms.
