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?"); }