What I'd like to know, is whether the crash still occurs with CSocketPlus. Since there is only one instance of the class for all sockets, perhaps the crash might be avoided even if a socket fails. If it doesn't then even if and when the initial socket error occurs, a new socket could be created, reestablishing communications.