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。