Hello!
I have sniffed the communication between a PLC and a software I am
maintaining. We're introducing TCP/IP communication. There is an
unexplained, unacceptable delay of about 0,35 seconds between every ACK
and SEND here. See messages 4 and 5, or 8 and 9:
http://balbuena.com.br/aae/2007/undesired-delay.pcap
http://balbuena.com.br/aae/2007/undesired-delay.png
I am absolutely sure this has nothing to do with software processing,
because such thing never happened with serial ports and modem
communication using the exact same layers. After some research, I've
discovered it seems to be the Nagle Algorithm that's slowing me down,
and I've added the proper lines of code and it seems to have no effect.
But this looks like absolutely anything but Delayed Ack.
My question is:
Is it really Nagle?
If it is, do any of you have any example of some complete Winsock2
application that manages to disable it?
If it's not, what is it and how do I disable it in Winsock2?
How could I switch to Delayed Ack using Winsock2?
*OR* Is there a better alternative than Winsock2 for developing a TCP/IP
layer for a small message protocol into a Windows C++ non-MFC DLL?
--
Omar M. Balbuena N.
Canopus Informática Ltda
Porto Alegre - RS - Brasil
+55 51 33622404
http://www.canopusonline.com/