void onDisconnected(IAsyncResult ar) { var socket = (Socket)ar.AsyncState; socket.EndDisconnect(ar); socket.Close(); _socket = null; _log.Debug("Disconnected."); triggerOnDisconnect(); }