MQTT协议(三) PUBLISH

一、服务器<----->PUBLISH<------>客户端

可以发布消息从publisher发送到服务器,或从服务器到subscriber。一个订阅者可以订阅若干个主题(Topic name),但一个PUBLISH消息只能拥有一个主题。

例如下面是一个PUBLISH消息:



1、固定头部

    DUP flag--------设为0,表示当前为第一次发送。

    RETAIN flag-----只有在PUBLISH消息中才有效。

        为1:表示发送的消息需要一直持久保存,不但要发送给当前的订阅者,并且以后新来的订阅了此Topic name的订阅者会马上得到推送。 备注:新来乍到的订阅者,只会取出最新的一个RETAIN flag = 1的消息推送,不是所有。

        为0:仅仅为当前订阅者推送此消息,这意味不保留。


2、可变头部

    Topic name,UTF-8编码字符串形式,不支持通配符!

    Message ID,代表QoS level 1QoS level 2消息。


3、消息体

    一般作为UTF-8编码写入接口,但不排除自定义的消息格式。

    空的消息体(zero-length)的PUBLISH消息也可以是合法的。

    当服务器接收到空消息体(zero-length payload)、retain = 1、具有topic name的一个PUBLISH特殊消息,表示同时满足retain = 1、相同topic name的这两个特征的被持久化PUBLISH消息,可被删除。


  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值