/// <summary> /// 关闭与服务器的连接 /// </summary> public void Close() { try { _isRec = false; _socket.BeginDisconnect(false, asyncCallback => { try { _socket.EndDisconnect(asyncCallback); } catch (Exception ex) { HandleException?.BeginInvoke(ex, null, null); } finally { _socket.Dispose(); } }, null); } catch (Exception ex) { HandleException?.BeginInvoke(ex, null, null); } finally { HandleClientClose?.BeginInvoke(this, null, null); } }
/// <summary> /// 关闭与服务器的连接 /// </summary> public void Close() { try { _isRec = false; _socket.Disconnect(false); HandleClientClose?.BeginInvoke(this, null, null); } catch (Exception ex) { HandleException?.BeginInvoke(ex, null, null); } finally { _socket.Dispose(); GC.Collect(); } }
/// <summary> /// 关闭当前连接 /// </summary> public void Close() { if (_isClosed) { return; } try { _isClosed = true; _server.RemoveConnection(this); _isRec = false; _socket.BeginDisconnect(false, (asyncCallback) => { try { _socket.EndDisconnect(asyncCallback); } catch (Exception ex) { HandleException?.BeginInvoke(ex, null, null); } finally { _socket.Dispose(); } }, null); } catch (Exception ex) { HandleException?.BeginInvoke(ex, null, null); } finally { HandleClientClose?.BeginInvoke(_server, this, null, null); } }