C# M2MQTT 斷線重連@Sunny的工程師日記
最近因為專案的需求,需要做出一個連續24小時365天運作的監看系統,為了確保通訊能夠不中斷就必須做到MQTT斷線重連,避免訊息漏接。 需求: 建立MQTT連線。 MQTT發送訊息。 MQTT接收訊息。 建置方式: 引用M2MQTT Library。 建立MQTT連線。 建立MQTT發送訊息Function。 建立MQTT接收訊息Function。 建立MQTT斷線Function。 以下是我的程式碼,請自行參考。 using uPLibrary.Networking.M2Mqtt; using uPLibrary.Networking.M2Mqtt.Exceptions; using uPLibrary.Networking.M2Mqtt.Messages; public static MqttClient client;//MqttClient string ls_Ip = "127.0.0.1";//Broker IP static void ConnectionClosed(object sender, EventArgs e) { //MQTT斷線的事件,將中斷連線時需要做的事情放在這邊 } public void Client_MqttMsgPublishReceived(object sender, MqttMsgPublishEventArgs e) { //MQTT接收的事件 } static void MqttMsgSubscribed(object sender, MqttMsgSubscribedEventArgs e) { //MQTT訂閱的事件 } public void mqttconnect() { try { client = new MqttClient(ls_Ip);//MQTTServer在本機 client.MqttMsgPublishReceived += Client_MqttMsgPublishReceived;//當接收到訊息時會啟動 client.MqttMsgSubscribed += MqttMsgSubscribed;//當Topic訂閱成功時會...