1. 程式人生 > >Mqtt ----心跳機制

Mqtt ----心跳機制

心跳機制

  Keep Alive指定連線最大空閒時間T,當客戶端檢測到連線空閒時間超過T時,必須向Broker傳送心跳報文PINGREQ,Broker收到心跳請求後返回心跳響應PINGRESP。若Broker超過1.5T時間沒收到心跳請求則斷開連線,並且投遞遺囑訊息到訂閱方;同樣,若客戶端超過一定時間仍沒收到心跳響應PINGRESP則斷開連線。 
  連線空閒時傳送心跳報文可以降低網路請求,弱化對頻寬的依賴。

Keep Alive設定時機

  建立連線時,在CONNECT報文中指定,單位s。

Client Take-Over

場景:客戶端與Broker連線正常,然後客戶端快速重啟(小於1.5T),再重新連線Broker,在未達到1.5T這段時間內,客戶端與Broker存在兩條連線。 
處理措施: 先斷開之前的連線再建立新的連線。