Hi All,
I have a client server application writter in C# .NET using Sockets.
I often get log messages (say about 4 per hour) saying this message,
An existing connection was forcibly closed by the remote host
In this case here the error is occuring on the 'server' side.
I decided to use wireshark to analyse what is occuring, and I get this. There are no delays, this is all happening within a couple of seconds.
Server > Client [PSH, ACK] Seq=55653 Ack=4472 Win=63940 Len=148
Client > Server [ACK] Seq=4472 Ack=55801 Win=4038 Len=0
Server > Client [PSH, ACK] Seq=55801 Ack=4472 Win=63940 Len=148
Client > Server [ACK] Seq=4472 Ack=55949 Win=4001 Len=0
Server > Client [PSH, ACK] Seq=55949 Ack=4472 Win=63940 Len=142
Client > Server [PSH, ACK] Seq=4472 Ack=55949 Win=4001 Len=31
Client > Server [RST, ACK] Seq=4503 Ack=55949 Win=0 Len=0
So the client and server are sending stuff between themselves (PSH) and acknowledging stuff (ACK). All of a sudden a RST is occuring. This according to wikipedia is a reset, and this reset corresponds to the 'An existing connection was forcibly ...' message I get above.
What really does that mean though? Does this mean that the reset causes the issue? I think the answer to that is no, and what would make more sense is that the reset is a result of the issue? I.e. The socket on the server side dies for some reason, and the client sends the reset to the server to kind of try and wake it up.
Thoughts?