Hello,
For TCP it is socket based, a point to point connection. The slave will determine if it allows more than one socket. Many slaves devices set a maximum number of concurrent connections.
For a master two approaches can be taken. One is that each connection to a slave is via a single socket and the other approach is each socket has multiple connections to slaves.
For each connection has a single socket, the "Unit ID" value of the packet is really not needed because each device has an IP address.
For multiple slaves on one socket, the "Unit ID" is a must so the "slave" can determine which slave is the intended message destination point. This approach is seen on a TCP to serial gateway. For example, one TCP connection to 32 serial devices.
Of course if speed is the issue 32 connections, one for each slave, would be the fastest.
PeakHMI offer both solutions. The number of TCP master to slave connections each with a single socket is only limited by the port number range, 65535. For the single socket for many slaves, each socket can support 255 slaves, the maximum number for the "Unit ID" is 255. 0 is for broadcast.
Hope that helps.