> The behavior of uIP looks OK for me. > > Your remote host wishes to terminate the connection and performes an > active close. According to RFC 743 it send a TCP segment with > the FIN > flag set including an ACK fot the last data received. > OK > When the uIP-host receives the FIN it sends back an ACK of the > received sequence number +1. If you close your connection using > uip_close() it also sends a FIN which the remote host must ACK by > incrementing the received sequence number by one. > When I close the connection with uip_close I get the four segment termination protocol. > If you look at the finite state machine in RFC 793 you can see that > you could also send your ACK and your FIN in to seperate messages, > but afaik RFC 793 doesn't forbid sending the ACK and the FIN > together in one message. > OK, I think I understand. So this is the uIP workflow: (???) +-----+ |ESTAB| +-----+ | | CLOSE / snd FIN (from remote) | +------------+ | FIN WAIT-1 | +------------+ | | rcv FIN / snd ACK | +-----------+ | CLOSING | +-----------+
The state FIN WAIT-2 will not be considered? > I hope i could help a little bit. :) > Yes :-) > Best regards, > Marc > Thanks! Best regards, Joerg