示例#1
0
        private void ProcessConnect(SocketAsyncEventArgs e)
        {
            if (e.SocketError == SocketError.Success)
            {
                _isConnected = true;

                _clientToken            = new ClientToken(0, e.AcceptSocket, _receiveEvent, _sendEvent);
                _receiveEvent.UserToken = _sendEvent.UserToken = e.UserToken = _clientToken;

                StartReceive(_receiveEvent);

                //Fire Connected event
                if (Connected != null)
                {
                    if (CallConnectedAsync)
                    {
                        Connected.BeginInvoke(this, r => Connected.EndInvoke(r), null);
                    }
                    else
                    {
                        Connected(this);
                    }
                }
            }
            else
            {
                ProcessConnectionError(e);
            }
        }