I have a real time control system that is sending data to a PC. The control system gets a Socket, sets TCP_NODELAY true, connects to a server on the PC, and then starts sending data. How much data can the Control System send before it receives the first ACK from the PC?
If I understand this correctly, the control system doesn't know how much receive buffer space the PC has until it receives the first ACK from the PC. Since the PC never sends any data to the control system, the PC waits about 200mS before it sends the first ACK. The control system sends one message and waits for an ACK because it doesn't know how big the PC's receive buffer is and it doesn't want to overflow that buffer. Initially there is a 200mS pause in communications. This does not make for a very good real time system. Does anyone know if there is anything in the TCP/IP specification that talks about this?
If I understand this correctly, the control system doesn't know how much receive buffer space the PC has until it receives the first ACK from the PC. Since the PC never sends any data to the control system, the PC waits about 200mS before it sends the first ACK. The control system sends one message and waits for an ACK because it doesn't know how big the PC's receive buffer is and it doesn't want to overflow that buffer. Initially there is a 200mS pause in communications. This does not make for a very good real time system. Does anyone know if there is anything in the TCP/IP specification that talks about this?