[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [lwip-users] A Single TCP RST message resets other existing TCP Serv
From: |
Darius Babrauskas |
Subject: |
Re: [lwip-users] A Single TCP RST message resets other existing TCP Server client connections. |
Date: |
Tue, 23 Jun 2015 09:38:05 +0300 |
Hi,
It looks, that you have problem with LWIP systimeouts.
If you using FreeRtos, you must create listen and connected socket threads
with sys_thread_new,
which create systimeout for each thread.
Darius
-----Pirminis laiškas-----
From: jkp
Sent: Monday, June 22, 2015 3:41 PM
To: address@hidden
Subject: [lwip-users] A Single TCP RST message resets other existing TCP
Server client connections.
Hi,
I'm using lwip tcp/ip version:1.4.1 on Arm Cortex M4 Cortex processor
prototype board.
Setup:-
I've multiple TCP server( BSD Style ) running on the board listening on two
different port numbers.Client A which polls the server every 100ms, 1 sec ,
2sec etc for data. Client B is a user driver typed message.
The expected behavior of the server is to accept the msg req from client and
reply it back.
Implementation details:-
I've used select() API for both of the server Implementation in order to
accept multiple client connection support.In addition to that, I've also
implemented to restrict the client connection if no of clients goes a max
value and an Inactivity timeout which close the client connection.
Problem description:-
One tcp client( Client A, windows console ) connects to one of the server
port as specified above and another RAW tcp client (Client B , using putty)
connection to another server port number. All working fine and good. Now,
the problem is, if I close the client A from windows console by pressing
Ctrl C, the action results in disconnecting all the tcp server - client
connection maintained during that time with the board. When I investigated
further using wireshark, the Ctrl C issued from the console results in TCP
RST message send to the board. So, I was expecting TCP/IP close by a 4 way
handshake , but the same I can't see. So, I did close from Client B, which
result in a graceful disconnection. So, the issue is TCP RST signal results
in closing of all TCP Server-Client connection. Do anyone have an hint about
why this behavior? Is there anyway to figure out using any sockoption flags
?? If all the tcp connections were closed , which data structure should I
look for any hint ?
Note:- I had verified again the connection with two clients and there is no
issue with connection even after the above described issue.
--
View this message in context:
http://lwip.100.n7.nabble.com/A-Single-TCP-RST-message-resets-other-existing-TCP-Server-client-connections-tp24633.html
Sent from the lwip-users mailing list archive at Nabble.com.
_______________________________________________
lwip-users mailing list
address@hidden
https://lists.nongnu.org/mailman/listinfo/lwip-users