//Start receiving internal override void StartReceiving(ISocketState state, int offset = 0) { try { state.SslStream = _sslStream; if (offset > 0) { state.UnhandledBytes = state.Buffer; } if (state.Buffer.Length < state.BufferSize) { state.ChangeBuffer(new byte[state.BufferSize]); if (offset > 0) { Array.Copy(state.UnhandledBytes, 0, state.Buffer, 0, state.UnhandledBytes.Length); } } _mreRead.WaitOne(); _mreRead.Reset(); state.SslStream.BeginRead(state.Buffer, offset, state.BufferSize - offset, ReceiveCallback, state); } catch (Exception ex) { throw new Exception(ex.Message, ex); } }
//Start receiving internal override void StartReceiving(ISocketState state, int offset = 0) { if (offset > 0) { state.UnhandledBytes = state.Buffer; } if (state.Buffer.Length < state.BufferSize) { state.ChangeBuffer(new byte[state.BufferSize]); if (offset > 0) { Array.Copy(state.UnhandledBytes, 0, state.Buffer, 0, state.UnhandledBytes.Length); } } state.Listener.BeginReceive(state.Buffer, offset, state.BufferSize - offset, SocketFlags.None, this.ReceiveCallback, state); }