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。