diff -r 24fe56d3c6a2 -r fea7c23d9c2c gameServer2/src/server/network.rs --- a/gameServer2/src/server/network.rs Mon Sep 10 23:31:44 2018 +0300 +++ b/gameServer2/src/server/network.rs Mon Sep 10 23:53:59 2018 +0300 @@ -100,7 +100,8 @@ self.socket = ClientSocket::SslHandshake(Some(new_handshake)); Ok(NetworkClientState::Idle) } - Err(HandshakeError::Failure(_)) => { + Err(HandshakeError::Failure(new_handshake)) => { + self.socket = ClientSocket::SslHandshake(Some(new_handshake)); debug!("TLS handshake with {} ({}) failed", self.id, self.peer_addr); Err(Error::new(ErrorKind::Other, "Connection failure")) }