示例#1
0
        private async Task ConnectLoop()
        {
            while (true)
            {
                await Task.Delay(5000).ConfigureAwait(false);

                foreach (var connector in Connectors)
                {
                    connector.DisplayMessage += ActiveConnectorOnDisplayMessage;
                    if (connector.TryConnect())
                    {
                        Logger.Info("Connector Connected: " + connector.GetType());
                        _activeConnector                 = connector;
                        _activeConnector.DataLoaded     += OnDataLoaded;
                        _activeConnector.SessionStarted += OnSessionStarted;
                        _activeConnector.Disconnected   += Connector_Disconnected;
                        _activeConnector.StartConnectorLoop();
                        return;
                    }

                    connector.DisplayMessage -= ActiveConnectorOnDisplayMessage;
                }
            }
        }