《基于mqtt的推送服务器.pptx》由会员分享,可在线阅读,更多相关《基于mqtt的推送服务器.pptx(10页珍藏版)》请在优知文库上搜索。
1、基于mqtt的推送服务器1大纲1.MQTT介绍2.MQTT主题3.MQTT特殊消息4.MQTT消息QOS5.推送服务器2023-4-232MQTT介绍(一)MQTT(Message Queuing Telemetry Transport,消息队列遥测传输)是一个轻量的发布订阅模式消息传输协议消息传输协议,专门针对低带宽和不稳定网络环境的物联网应用设计。特点特点1.开放消息协议,简单易实现2.发布订阅模式,一对多消息发布3.基于TCP/IP网络连接4.1字节固定报头,2字节心跳报文,报文结构紧凑5.消息QoS支持,可靠传输保证2023-4-233MQTT介绍(二)MQTT支持TCP和WebSoc
2、ket两种协议作为传输层。mosquitto 默认没有打开默认没有打开WebSocket支持,需要修改支持,需要修改config.in打开打开WebSocket支持,再进行编译。支持,再进行编译。2023-4-234MQTT主题MQTT协议基于主题(Topic)进行消息路由,主题(Topic)类似URL路径,例如:sensor/10/temperaturesensor/+/temperature$SYS/broker/metrics/#主题(Topic)通过/分割层级,支持+, #通配符:+: 表示通配一个层级,例如a/+,匹配a/x, a/y#: 表示通配多个层级,例如a/#,匹配a/x,
3、a/b/c/d订阅者可以订阅含通配符主题,但发布者不允许向含通配符主题发布消息。订阅者可以订阅含通配符主题,但发布者不允许向含通配符主题发布消息。2023-4-235MQTT特殊消息MQTT遗愿消息(Last Will):MQTT客户端向服务器端CONNECT请求时,可以设置是否发送遗愿消息(Will Message)标志,和遗愿消息主题(Topic)与内容(Payload)。MQTT客户端异常下线时(客户端断开前未向服务器发送DISCONNECT消息),MQTT消息服务器会发布遗愿消息。MQTT保留消息(Retained Message):MQTT客户端向服务器发布(PUBLISH)消息时,
4、可以设置保留消息(Retained Message)标志。Broker会存储每个存储每个Topic的最后一条保留消息的最后一条保留消息及其Qos,当订阅该Topic的客户端上线后,Broker需要将该消息投递给它。保留消息有两种清除方式:客户端向有保留消息的主题发布一个空消息:消息服务器设置保留消息的超期时间。2023-4-236MQTT消息QOS(一)MQTT有三种消息发布服务质量:0:至多一次1:至少一次2:只有一次2023-4-237MQTT消息QOS(二)MQTT发布消息QoS保证不是端到端的,是客户端与服务器之间的。订阅者收到MQTT消息的QoS级别,最终取决于发布消息的QoS和主题订阅的QoS。2023-4-238发布消息的发布消息的QoS主题订阅的主题订阅的QoS接收消息的接收消息的QoS000010020100111121200211222推送服务器(一)2023-4-239整体架构:推送服务器(二)2023-4-2310内部逻辑: