MQTT-SN协议阅读之MQTT-SN vs MQTT

第三章     MQTT-SN vs MQTT

MQTT-SN设计得尽可能靠近MQTT,但设计得更适应无线通信环境,例如低带宽高连接失败,消息长度短等情形,也适应于低成本,电池驱动存储资源有限的设备。

相比MQTTMQTT-SN有如下显著特征:

1.      CONNECT message被分为3messages,后面2message被用来传递到serverWill topicWill message

2.      因为无线通信的低带宽,所以用两个字节的topic id替换PUBLISH中的topic name,客户端向server/gateway注册topic name并获得对应的topic ids;注册也可以是反方向的,即server/gateway通过注册过程告知client相关topic nametopic id,以在后续的PUBLISH包含正确的topic id

3.      如果没有注册过程,则也可以使用pre-defined方法定义topic ids,这些topic ids映射到server/gatawayclient都知道的topic name。次外,可以使用两个字节固定长度的short

topic nameshort topicname可以直接包含在PUBLISH中,同样不需要注册过程。

4.      利用discovery过程,client可以发现server/gateway的网络地址,而不用提前配置server/gateway的网络地址,这样可以灵活使用多个不同的gataway

5.      clean session被扩展到Will功能,不仅仅在client的订阅中出现,在Will topicWill message中也会出现,在一个seesionclient可以修改Will topicWill message

6.      定义了脱机下的keep-alive以支持休眠的client,电池驱动的client在休眠过程中,server/gataway暂存发往该client的包,等待其苏醒后再将包发出。

你可能感兴趣的:(MQTT-SN)