none
Winsock programming, delayed ack problem during retransmission on TCP\IP

    Question

  • Hello,

     

    This might not belong in the forum but since we use winsocket and visual studio there might be some tricks that we can use that I missed.

    We had a case where a number of packges been dropped on the tcp\ip layer that forces retransmission in the tcp-layer (outside my programs control).

    [TCP Previous segment lost]

    [TCP DUP ACK]

    and so on.

    Then when the retransmission are starting to drop back in

    [TCP Retransmission] (incoming)

    [TCP Retransmission](incoming)

    [TCP ACK] (outgoing)

    This is all fine

    All of a sudden the pattern changes to

    [TCP Retransmission] (incoming)

    [200 millisecond delay (delayed TCP ack)]

    [TCP ACK] (outgoing)

    [TCP Retransmission] (incoming)

    [200 millisecond delay (delayed TCP ack)]

    [TCP ACK] (outgoing)

    [TCP Retransmission] (incoming)

    [200 millisecond delay (delayed TCP ack)]

    [TCP ACK] (outgoing)

    Until at one point it starts sending us tons of data.

    Now two questions: (one that doesn't fit into the programming space but rather windows server and networking).

    1. Can I somehow force the ack to be sent faster then 200 millisecond if there only 1 segment sent? Not changes the whole computer just my program. (note, I shouldn't send data to the other party)

    2. Why is winsocket not responding to each retransmission with an ack \ why is only 1 retransmission sent so that no ack is generated?

     

    This is running x64 bit windows 2008 sp1

    Compiled with Microsoft Visual studio 2008 version 9.0.307291 SP

    • Moved by Yi Feng Li Monday, November 29, 2010 3:18 AM Winsock issue (From:Visual C++ General)
    Wednesday, November 24, 2010 2:50 PM

All replies