public void Close() { if (!Closing && !Closed) { Closing = true; _Close(); Logger.Debug("Closing Socket"); _socket.Close(); Closing = false; Closed = true; OnCloseConnection(); } }