Steve,
This is an expected behavior with TCP. TCP Listen listens for clients, and stores the open references to a buffer. You do not have control of this buffer. TCP Read references the buffer with data in it, and you can setup this buffer size.
When several clients send requests to the server, the server will execute them in the order in which they were received. It doesn't matter if the client closes the connection in the meantime, because the server already received that request. However, if the server closes the connection after reading the first request, then it will not process the rest of the requests waiting in the queue.
When you leave the connection open on the server side, you can receive multiple commands this way, but it also blocks
other clients from connecting until the current client disconnects. You can restructure the block diagram to handle multiple clients simultaneously, by running two loops simultaneously. One loop would continuously wait for a connection and then add the connection to a synchronized queue. The second loop would check each open connection and execute any command that has been received.
Please see the attached VI.
Zvezdana S.
Naional Instruments