Exemple #1
0
        private async Task StartMqttServer()
        {
            MqttTcpChannel.CustomCertificateValidationCallback = RemoteValidation;
            var logger  = new MqttLogger(_logger);
            var factory = new MqttFactory();

            _mqttServer = factory.CreateMqttServer(new List <IMqttServerAdapter> {
                new MqttTcpServerAdapter(logger)
            }, logger);
            _mqttServer.Started            += Started;
            _mqttServer.ClientConnected    += ClientConnected;
            _mqttServer.ClientDisconnected += ClientDisconnected;

            await _mqttServer.StartAsync(_options);

            // wait for 5 seconds for server to be started
            for (var i = 0; i < 100; i++)
            {
                if (serverStarted)
                {
                    return;
                }
                await Task.Delay(50);
            }
            throw new Exception("Mqtt Server did not start?");
        }
        private async Task StartMqttServer()
        {
            var logger  = new MqttLogger(_logger);
            var factory = new MqttFactory();

            _mqttServer = factory.CreateMqttServer(new List <IMqttServerAdapter> {
                new MqttTcpServerAdapter(logger.CreateChildLogger())
            }, logger);
            _mqttServer.StartedHandler            = this;
            _mqttServer.ClientConnectedHandler    = this;
            _mqttServer.ClientDisconnectedHandler = this;

            await _mqttServer.StartAsync(_options);

            // wait for 5 seconds for server to be started
            for (var i = 0; i < 100; i++)
            {
                if (serverStarted)
                {
                    _logger.LogDebug($"Waited for {i * 50} milliseconds for server to be started");
                    return;
                }
                await Task.Delay(50);
            }
            throw new Exception("Mqtt Server did not start?");
        }