Beispiel #1
0
        private void ProcessDisconnect(SocketAsyncEventArgs e)
        {
            if (_isConnected)
            {
                _isConnected = false;

                ClientToken clientToken = (ClientToken)(e != null
                    ? e.UserToken
                    : _clientToken);
                clientToken.Close();

                //Fire Disconnected event
                if (Disconnected != null)
                {
                    if (CallDisconnectedAsync)
                    {
                        Disconnected.BeginInvoke(this, r => Disconnected.EndInvoke(r), null);
                    }
                    else
                    {
                        Disconnected(this);
                    }
                }
            }
        }