private void InitArgs() { _receiveArgs.Clear(); _sendArgs.Clear(); _sendBuffMgr.FreeBuffer(); _recBuffMgr.FreeBuffer(); for (int i = 0; i < _maxConCount + _offsetNumber; i++) { SocketAsyncEventArgs senArg = new SocketAsyncEventArgs() { DisconnectReuseSocket = true, SocketError = SocketError.NotInitialized }; senArg.Completed += IOCompleted; senArg.UserToken = new SocketToken(i); _sendArgs.Set(senArg); _sendBuffMgr.SetBuffer(senArg); SocketAsyncEventArgs recArg = new SocketAsyncEventArgs() { DisconnectReuseSocket = true, SocketError = SocketError.SocketError }; recArg.Completed += IOCompleted; SocketToken token = new SocketToken(i) { arg = recArg }; recArg.UserToken = token; _recBuffMgr.SetBuffer(recArg); _receiveArgs.Set(recArg); } }
protected virtual void Dispose(bool isDisposing) { if (_isDisposed) { return; } if (isDisposing) { _sendArgs.Clear(); if (_sendBuffMgr != null) { _sendBuffMgr.Clear(); _sendBuffMgr.FreeBuffer(); } _isDisposed = true; SafeClose(); } }