This is our old Q&A Site. Please post any new questions and answers at

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!

alt text

alt text

asked 29 Jan '16, 01:10

andyste1's gravatar image

accept rate: 0%

If you can, post examples on instead of screenshots. Analyzing TCP behavior with screenshots is much more time consuming and sometimes not possible at all (depending on the screenshot).

If you worry about privacy, use TraceWrangler ( to randomize all IP addresses and remove the TCP payload (verify it looks good before uploading, "good" meaning IPs are different and the packets have no TCP payload anymore).

Make sure that you include the TCP handshake, pls, because your screenshots start somewhere in the middle. It's often critical to know details that can be read from the first three packets (SYN - SYN/ACK - ACK), e.g. timings, TCP options, etc.

(29 Jan '16, 01:21) Jasper ♦♦
Be the first one to answer this question!
toggle preview

Follow this question

By Email:

Once you sign in you will be able to subscribe for any updates here



Answers and Comments

Markdown Basics

  • *italic* or _italic_
  • **bold** or __bold__
  • link:[text]( "title")
  • image?![alt text](/path/img.jpg "title")
  • numbered list: 1. Foo 2. Bar
  • to add a line break simply add two spaces to where you would like the new line to be.
  • basic HTML tags are also supported

Question tags:


question asked: 29 Jan '16, 01:10

question was seen: 899 times

last updated: 29 Jan '16, 01:21

p​o​w​e​r​e​d by O​S​Q​A