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

本文对比了MQTT-SN与MQTT的特点,强调了MQTT-SN为适应无线通信环境所做的优化,包括消息拆分、主题ID注册、发现机制及离线支持等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

第三章     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的包,等待其苏醒后再将包发出。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值