Using industrial_robot_client / simple_message with a single port
I'm trying to interface a Thermo CRS F3 robot arm, which runs RAPL-3 language and has a serial port for communication. I initially started with rosserial, but then found out that the simple_message protocol is better suited for my purpose.
Because I'm already confused about all the new stuff, I'd like to get started with the default streaming client in industrial_robot_client before trying to customize it. I think I can connect a TCP port to the serial port using socat/ncat, and then implement the simple_message protocol on the robot side.
However, I see that the default clients use up to 4 TCP ports: MOTION = 11000, SYSTEM = 11001, STATE = 11002, IO = 11003. Of which MOTION and STATE are at least needed.
Could I just specify the same port for both robot_state and join_trajectory_action nodes? Or would the replies to different commands get mixed up? Or is there some other reason such as buffering and latency to keep the ports separate?