I've written a simple Windows client that connects to a hardware device (FPGA) over TCP/IP. When I click a button in the client it sends a small "request" to the device, then reads a response that the device returns - this data is approx 32kb in size.
My code typically takes 2-3ms to read this response back, and this timing remains consistent if I repeatedly click the button slowly (e.g. once per second). However if I start clicking the button more rapidly (e.g. every half a second) then after a few seconds the timings will drop to around 12ms and remain at that level, even if I go back to clicking the button slowly. If I close then reopen the connection on the client, then try again, it goes back to 2-3ms times.
Here are a couple of Wireshark screenshots - the first being a "fast" one, the second from when it has slowed down. The only thing that jumps out at me is the increased number of ACKs in the second screenshot. Any toughts? I'm a software dev so this sort of thing is out of my depth TBH!
asked 29 Jan '16, 01:10