Last month I mentioned winsock error 10053, "Software caused connection abort" (basically, the error means that something on the localhost caused the connection to be closed), and how it is so often caused by virus scanners. I pointed out that this is not always the case, and sometimes the problem is very difficult to troubleshoot. But don't worry, this is pretty common and it is most likely
not a bug in your code, just something that needs to be considered when implementing error handling.
Besides AV software, another common cause of this error is that a remotehost stops acknowledging receipt of TCP packets. When TCP packets are sent to a remotehost, and the remotehost does not acknowledge that packet, the local socket will attempt retries - but if the remote host never responds, a 10053 error will occur.