Why does the exception thrown from Socket.Receive report an exception in my program when the server closed the connection?
I have a connection that I am closing in a server (another executable) using Socket.Close(). In my client on the Socket.BeginReceive(Byte[] buffer, Int32 offset, Int32 size, SocketFlags socketFlags, AsyncCallback callback, Object state) call it throws a SocketException stating
An established connection was aborted by the software in your host machine
This gives me the impression that I am closing a co开发者_运维问答nnection that some thread has blocked on a Socket.Receive() or Socket.EndReceive(). Have I done something incorrectly here?
Have you tested with Shutdown() before Close() recommendation for gracefuly closing the socket on the server side as documented ? I would think that a graceful close should not cause the client to report the connection as aborted, this should only happen if the connection is reset (TCP RST).
加载中,请稍侯......
精彩评论