/// <summary> /// 建立物件 /// </summary> private void CreateMqtt() { if (isCreateMqtt) { log.Info($"MQTT重新連線...已執行,跳過不執行"); return; } isCreateMqtt = true; var connected = mqttClient.IsConnected; while (mqttClient != null && !mqttClient.IsConnected) { try { byte code = mqttClient.Connect(Guid.NewGuid().ToString()); IsConnected = true; mqttClient.ConnectionClosed -= MqttClient_ConnectionClosed; mqttClient.ConnectionClosed += MqttClient_ConnectionClosed; Subscribe(this.topicList); } catch (Exception ex) { log.Error($"MQTT無法連線:{ex.ToString()}"); log.Info($"MQTT無法連線,重新執行..." + mqttClient.GetHashCode()); } System.Threading.Thread.Sleep(1000); } isCreateMqtt = false; }