[Documentation] [TitleIndex] [WordIndex

TCPROS

TCPROS is a transport layer for ROS Messages and Services. It uses standard TCP/IP sockets for transporting message data. Inbound connections are received via a TCP Server Socket with a header containing message data type and routing information. For more information about this header format, see Connection Header.

TODO: more information about wire protocol

TCPROS Header Fields

Inbound connections to a TCPROS Server Socket are routed by information contained within the header fields. If the header contains the 'topic' field, it will be routed as a connection to a ROS Publisher. If it contains a 'service' field, it will be routed as a connection to a ROS Service.

A TCPROS subscriber is required to send the following fields:

A TCPROS publisher is required to reply with the following fields on a successful connection:

A TCPROS service client is required to send the following fields:

A TCPROS subscriber may optionally send the following fields:

A TCPROS publisher may optionally send the following fields:

A TCPROS service client may optionally send the following fields:

A TCPROS Service is required to reply with the following fields on a successful connection:

TCPROS has the following optional fields:

Service-specific

Services include an 'ok' byte in response to each service request message.

If the ok byte is true (1), it must be followed by the service response message.

If the ok byte is false (0), it must be followed by a serialized string representing the error message (same length + bytes format that ROS messages use for serializing strings, potentially the string can be empty which is the case if a service just returns false).


2022-05-28 12:22