I am definately a newbie here.
My IO::Socket program listens for incoming messages, processes them and then waits for the next. My cliet program gets executed lots of times (it's a message processor driven by incoming events - so each new event is a new copy of the sender program)
My question is what exactly happens when the client kicks twice in a very very short period of time. If I understand IO:Socket correctly, and I am using TCP, the second copy of the program will wait (or the data will be buffered) until the first copy of hte problem and thus the first buffer is processed. I have set Listen parameter to 5 and I perform Autoflush(1) on each receipt of a buffer. Code example available but I'm just asking for explanation on how it works.
What I am seeing is the packets are on the wire for two events but the receviing program only sees one buffer. This is a very simple environment. The server runs "like" a daemon and the client executes each time a new messge is received. I only see squirrely results when the messages arrive very close together.