Connections are managed by the application program. A client which terminates a connection without observing the correct TCP sequence (as a result of a power outage, for example), is considered as still being connected as long as nothing else has been sent or any other events have occurred.
The following paragraphs provide three significant examples which should enable you to better understand how the architecture works.
The client side is described in the form of a flow diagram, whereas on server side is shown as a sequence of operations closely linked to the events on the client side.
The scenario in example 2 is of a connection cut-off on the client side after FCT_RECEIVE (Sj), as there is no SEND_RECEIVE-processing loop.
The diagram below describes how a server application operates when processing two connections requested by two clients.
The diagram below describes how a server application operates when processing two connections requested by the same client. The first disconnection was not made in accordance with correct TCP procedure (e.g.: power failure). The socket is considered to still be connected as long as the client has not made a new connection.
The diagram below describes how a server application operates when processing two connections requested by the same client. The first disconnection was not made in accordance with correct TCP procedure (e.g.: power failure). As long nothing has been sent by the server, the socket is still considered to be connected.