[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [lwip-users] i test lwip, and have some questions.thinks!

From: Kieran Mansley
Subject: Re: [lwip-users] i test lwip, and have some questions.thinks!
Date: Fri, 08 Sep 2006 10:37:34 +0100

On Fri, 2006-09-08 at 17:28 +0800, Jon wrote:
> i found in tcp_in.c:tcp_process.
>   switch (pcb->state) {
>   case SYN_SENT:
>   ....
>       tcp_ack(pcb);
> why is tcp_ack, not  tcp_ack_now? syn'ack must send at once, else tcp
> connect will be unable to complete.i use ethereal capture packets, and
> only watch SYN,SYN/ACk,no third ack packet,after it send normal data.

Probably because the connection is now established at this end, so the
application may send data, and the ACK could piggyback on it rather than
have to go as a separate packet.  If no data is sent, the slow timer
will fire and the ACK will get sent then.  The only pattern I can see
this harming the performance of is if A connects to B, and expects B to
immediately send it data (without A sending anything).  This is quite
unusual, but it wouldn't do much harm to replace it with a tcp_ack_now()
if necessary.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]