public Client(MqttSettings mqttSettings, bool autoReconnect = true) { this._mqttSettings = mqttSettings; this._autoReconnect = autoReconnect; Log = LogManager.GetCurrentClassLogger("MqttClient"); client = new MqttClient(_mqttSettings.broker, _mqttSettings.port, false, null, null, MqttSslProtocols.None); client.MqttMsgPublishReceived += Client_MqttMsgPublishReceived; client.ConnectionClosed += Client_ConnectionClosed; string clientId = _mqttSettings.deviceId; if (autoReconnect) { _reconnectTimer = new System.Timers.Timer(_mqttSettings.reconnectInterval); _reconnectTimer.Elapsed += delegate { if (client != null && !client.IsConnected) { ConnectionReconnecting?.Invoke(); _queueCancellationTokenSource.Cancel(); MqttConnect(); } }; } }
private void Reconnecting() { ConnectionReconnecting?.Invoke(); }