OK I caught the interface dropping packets. It's a Gig-E interface, and it does retransmit dropped packets. My question is what can I do about this on the script side? It seems as though if packets get dropped a lot, the script pauses and doesn't recover. I would like it to be able to capture re-transmitted packets and continue on where it left off. Is this possible with IO::Socket?
Is it possible in POE? I am eventually going to rewrite the whole process using POE, but this may speed up the process.