Important: Please read the Qt Code of Conduct -

TCP ACK not incrementing

  • I have a TCP Server that I wrote without qt in C++ that is functioning bidirectional with a remote client. I am attempting to implement the same using QT. I am connecting and receiving data packets from the client successfully but the client does not appear to receive and respond to the QT server transmissions. I have captured the data flow with wireshark and I can see the QT server sending a TCP packet out the correct port and to the correct destination. The difference I see is that in the non-qt version the TCP header acq number is always a large number ex. 857 In the qt version, the server's TCP header acq number is always 1. Any idea what would cause the acq to never increment when using qt. I can see the server transmission data packets on the wire with wireshark, the port, IP, and user data look correct. [0_1550594539392_toughbook_gui.cpp](Uploading 100%)

  • Lifetime Qt Champion

    @patmicom can you upload a picture with the TCP stream in Wireshark (filter out all other network events), starting with SYN?


  • Uploading two wireshark pictures.

    1. wireshark_console.png = working non-qt version. Starting at packet 33 I send a 20 byte request packet and get a 160 byte response packet. wireshark_console.png shows 4 successful transfers and responses. Note the ACQ numbers do not equal 1.
      ![0_1550601195136_wireshark_console.png](Uploading 100%)
    2. wireshark_GUI.png = shows the transfers when executing with the qt GUI. Timing is different. The GUI only sends the 20 byte packet on a button callback. In wireshark_GUI.png I'm interested in 20 byte transfer on packets 47,54 and 58. Note ACK is always=1 and I don't get my expected 160 byte return packet
      ![0_1550601209283_wireshark_GUI.png](Uploading 100%)

Log in to reply