Example #1
0
        //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);
        }