I try to create a simple tcp echo server which replies back whatever it has
received (I know that there are ready to use examples for this: I work based
on those examples...). It already works more or less however I found an
issue about stucked pcbs in ESTABLISHED state.
Here is the problematic process step by step:
1. Client established a connection with the server
2. I manually unplug the cable which is between two switches which are
between the server and the client device.
3. Client noticed that the cable is unplugged (I don't know exactly how) so
it closed the socket.
4. I plugged the cable back.
5. Client successfully connected however the previously used pcb got stucked
and still exists (its state is still ESTABLISHED).
Is there any tool which closes such stucked pcb-s? For example if I send any
message to this stucked pcb the acknowledgement obviously will not come
back: I debugged it and the tcp_sent() callback is not called however the
tcp_output() returned ERR_OK. Is there any built-in functionality which
closes the pcb if the acknowledgement is not received for a specific time?