首頁  >  問答  >  主體

java - MQTT协议的消息类型, 可以如何分类?

PHPzPHPz2716 天前964

全部回覆(1)我來回復

  • ringa_lee

    ringa_lee2017-04-17 16:36:01


    1. 首先你列出的是MQTT協定中對於伺服器分發訊息中的固定標頭中對於訊息類型的定義。

    其實,這在大部分開源實作中是統一的,沒有什麼實際意義,主要根據這些類型,來做一些業務上的處理。例如,你在接受到請求連接MQTT_CONNECT时候,初始化资源;
    在断开连接MQTT_DISCONNECT的時候,做一些掃尾工作,就像在app中發現已經斷開連接,就主動推送一個訊息給app,告訴app連接已斷開,不能發送訊息了;

    2.真正實現業務上的消息類型,是需要自己自訂的,在payload中,定義訊息類型。 payload才是真正業務訊息實體。
    例如,自訂:

    {
    //文本
      message : 1,
      content : "你好",
      time    : "2016-2-1"
    }
    
    {
    //图片
      message : 2,
      content : "www.baidu.com/image/img.jpg",
      time    : "2016-2-1"
    }
    

    當然,主要根據自己的業務需求,定義需要的訊息類型與格式,然後將上面的資料轉換為data,將data置於在payload中進行分發。

    我也是剛接觸MQTT協議不久,,而且做的iOS端的訂閱,分發。粗淺理解,提供一個思路,可以互相交流學習。
    在github上,我整理了一些資料:https://github.com/wenghengcong/MQTTExplore。

    回覆
    0
  • 取消回覆