diff --git a/Client/Core/Client.cs b/Client/Core/Client.cs index 5e1e6c0e..3d63a129 100644 --- a/Client/Core/Client.cs +++ b/Client/Core/Client.cs @@ -118,7 +118,6 @@ public void Connect(string host, ushort port) } catch (Exception ex) { - Console.WriteLine(ex.ToString()); OnClientFail(ex); Disconnect(); } @@ -304,6 +303,8 @@ public void Disconnect() _handle.Close(); _readOffset = 0; _writeOffset = 0; + _readableDataLen = 0; + _payloadLen = 0; } } diff --git a/Server/Core/Client.cs b/Server/Core/Client.cs index 9fc5bafd..785f9d21 100644 --- a/Server/Core/Client.cs +++ b/Server/Core/Client.cs @@ -16,17 +16,6 @@ namespace xServer.Core { public class Client { - public event ClientFailEventHandler ClientFail; - public delegate void ClientFailEventHandler(Client s, Exception ex); - - private void OnClientFail(Exception ex) - { - if (ClientFail != null) - { - ClientFail(this, ex); - } - } - public event ClientStateEventHandler ClientState; public delegate void ClientStateEventHandler(Client s, bool connected); @@ -296,6 +285,8 @@ public void Disconnect() _handle.Close(); _readOffset = 0; _writeOffset = 0; + _readableDataLen = 0; + _payloadLen = 0; } } diff --git a/Server/Core/Server.cs b/Server/Core/Server.cs index 5322e5f4..23ca21d1 100644 --- a/Server/Core/Server.cs +++ b/Server/Core/Server.cs @@ -243,7 +243,12 @@ public void Disconnect() while (_clients.Count != 0) { _clients[0].Disconnect(); - //_clients.RemoveAt(0); + try + { + _clients.RemoveAt(0); + } + catch + { } } }