MQTT协议

MQTT是啥子?

简单来说分三步1.Broker(代理)2.Publisher(发布者)3.Subscriber(订阅者)
举个例子:就拿B站来说

在这里插入图片描述发布者:B站的每一个Up主就是一个发布者。
订阅者:你打开B站 发一个Up主发的视频很有意思,你就关注了,就属于订阅
代 理:当你关注的Up主更新了内容时,你的消息中心就有提示,也就是负责推送消息

为啥要用MQTT协议?有啥子优点?

  • 简单容易实现
  • 支持 QoS(设备网络环境复杂)
  • 轻量且省带宽
  • 数据无关(不关心 Payload 数据格式)
  • 有持续地会话感知能力(时刻知道设备是否在线)

与HTTP、XMPP协议比较优劣势

MQTT vs HTTP

  • MQTT 的最小报文仅为 2 个字节,比 HTTP 占用更少的网络开销。
  • MQTT 与 HTTP 都能使用 TCP 连接,并实现稳定、可靠的网络连接。
  • MQTT 基于发布订阅模型,HTTP 基于请求响应,因此 MQTT 支持双工通信。
  • MQTT 可实时推送消息,但 HTTP 需要通过轮询获取数据更新。
  • MQTT 是有状态的,但是 HTTP 是无状态的。
  • MQTT 可从连接异常断开中恢复,HTTP 无法实现此目标。

MQTT vs XMPP

  • MQTT 协议设计简单轻量、路由灵活,将在移动互联网、物联网消息领域,全面取代 PC 时代的 XMPP 协议。
  • MQTT 报文体积小且编解码容易,XMPP 基于繁重的 XML,报文体积大且交互繁琐。
  • MQTT 基于发布订阅模式,相比 XMPP 基于 JID 的点对点消息路由更为灵活。
  • MQTT 支持 JSON、二进制等不同类型报文。XMPP 采用 XML 承载报文,二进制必须 Base64 编码等处理。
  • MQTT 通过 QoS 保证消息可靠传输,XMPP 主协议并未定义类似机制。

如何使用?

代码示例

懒得写了,参考一下这位博主的例子吧哈哈:链接: link

  • 6
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值