MQTT协议

MQTT(Message Queuing Telemetry Transport,消息队列遥测传输)

一种针对移动终端设备的基于TCP/IP的发布/订阅协议
可以连接大量的远程传感器和控制设备
MQTT的特点是可以保持长连接,具有一定的实时性要保持长连接,那么就要不时地发送心跳包,这就不会省电
特点:
使用发布/订阅消息模式,提供一对多的消息发布,解除应用程序耦合
有三种消息发布服务质量(QoS):
“至多一次”,消息发布完全依赖底层 TCP/IP 网络,会发生消息丢失或重复,这一级别可用于对采集数据要求不严格的情况
“至少一次”,确保消息到达,但消息可能会重复发生
“只有一次”,确保消息只到达一次,这一级别可用于要求严格如涉及计费系统的情况,消息重复或丢失都是不允许的
MQTT主题模式:
MQTT是通过主题对消息进行分类的
主题本质上就是一个UTF-8的字符串
主题可以通过反斜杠表示多个层级关系
主题并不需要创建,直接使用就是了
主题还可以通过通配符进行过滤
+可以过滤一个层级
只能出现在主题最后表示过滤任意级别的层级举个例子:
building-b/floor-5:代表B楼5层的设备
+/floor-5:代表任何一个楼的5层的设备
building-b/*:代表B楼所有的设备
MQTT中有3个角色:
发布者Publisher
订阅者Subscriber
代理Broker
MQTT这种结构替代了传统的客户端/服务器模型,可以实现以下解耦:
空间解耦,发布者和订阅者不需要知道对方
时间解耦,发布者和订阅者不需要同时运行(离线消息)
同步解耦,发布和接收都是异步通讯,无需停止任何处理
服务端:
一个程序或设备,作为发送消息的客户端和请求订阅的客户端之间的中介
接受来自客户端的网络连接
接受客户端发布的应用消息
处理客户端的订阅和取消订阅请求
转发应用消息给符合条件的已订阅客户端

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

路漫漫其远,吾求索

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值