public void Disconnect() { try { if (isInit) { ConnectSocket?.Shutdown(System.Net.Sockets.SocketShutdown.Both); //if(dispose) // DisconnectIt?.Invoke(this); } } catch (ObjectDisposedException) { } catch (Exception) { } }
private void _DisConnect() { Pool.TcpServer.OnDisConnect(this); ConnectDateTime = null; if (ConnectSocket != null) { try { ConnectSocket.Shutdown(SocketShutdown.Both); } catch (Exception e) { //日志记录 Pool.TcpServer.Loger.Fatal(string.Format("CloseClientSocket Disconnect client {0} error, message: {1}", ConnectSocket, e.Message)); } ConnectSocket.Dispose(); ConnectSocket = null; } }
public void DisConnect() { OnDisConnect(this); if (ConnectSocket != null) { try { ConnectSocket.Shutdown(SocketShutdown.Both); } catch (Exception e) { //日志记录 loger.Fatal(string.Format("CloseClientSocket Disconnect client {0} error, message: {1}", ConnectSocket, e.Message)); } ConnectSocket.Dispose(); ConnectSocket = null; } Clear(); ReceiveEventArgs.Dispose(); SendEventArgs.Dispose(); }
//清理session public void Clear() { //释放引用,并清理缓存,包括释放协议对象等资源 PacketProtocol.Clear(); SessionData.Clear();//清理session数据 if (ConnectSocket == null) { return; } try { ConnectSocket.Shutdown(SocketShutdown.Both); } catch (Exception e) { //日志记录 loger.Fatal(string.Format("CloseClientSocket Disconnect client {0} error, message: {1}", ConnectSocket, e.Message)); } ConnectSocket.Close(); ConnectSocket = null; Server = null; }
public void DisConnect() { if (OnDisConnect != null) { OnDisConnect(null, this); } //释放引用,并清理缓存,包括释放协议对象等资源 PacketProtocol.Clear(); if (ConnectSocket != null) { try { ConnectSocket.Shutdown(SocketShutdown.Both); } catch (Exception e) { loger.Fatal(e); } } ConnectSocket.Close(); ConnectSocket = null; }