MQTT协议简介
所属分类 IOT
浏览量 212
MQTT(Message Queuing Telemetry Transport,消息队列遥测传输)
是IBM开发的一个ISO 标准(ISO/IEC PRF 20922)下基于发布/订阅范式的消息协议。
MQTT协议可以以极少的代码和有限的带宽,为连接远程设备提供实时可靠的消息服务。
MQTT协议具有轻量、简单、开放和易于实现等特点
MQTT协议主要特性
使用发布/订阅消息模式,提供一对多的消息发布,解除应用程序耦合。
对负载内容屏蔽的消息传输。
使用 TCP/IP 提供网络连接。
有三种消息发布服务质量(QoS):0 至多一次 ,1 至少一次 , 2 只有一次
QoS(Quality of Service,服务质量)
小型传输,开销很小(固定长度的头部是 2 字节),协议交换最小化,以降低网络流量。
使用 Last Will 和 Testament 特性通知有关各方客户端异常中断的机制。
发布者(Publish)、代理(Broker)(服务器)、订阅者(Subscribe)。
消息的发布者和订阅者都是客户端,消息代理是服务器,消息发布者可以同时是订阅者。
主题(Topic) 负载(payload)
MQTT会构建底层网络传输 ,建立客户端到服务器的连接,提供两者之间的一个有序的、无损的、基于字节流的双向传输。
当应用数据通过MQTT网络发送时,MQTT会把与之相关的服务质量(QoS)和主题名(Topic)相关连。
MQTT协议中的订阅、主题、会话
订阅(Subscription)
订阅包含 主题筛选器(Topic Filter)和 最大服务质量(QoS)
订阅会与一个会话(Session)关联。一个会话可以包含多个订阅。每一个会话中的每个订阅都有一个不同的主题筛选器。
会话(Session)
每个客户端与服务器建立连接后就是一个会话,客户端和服务器之间有状态交互。
会话存在于一个网络之间,也可能在客户端和服务器之间跨越多个连续的网络连接。
主题名(Topic Name)连接到一个应用程序消息的标签,该标签与服务器的订阅相匹配。
服务器会将消息发送给订阅所匹配标签的每个客户端。
主题筛选器(Topic Filter)一个对主题名通配符筛选器,在订阅表达式中使用,表示订阅所匹配到的多个主题。
负载(Payload)消息订阅者所具体接收的内容。
MQTT协议中的方法(动作)
Connect
Disconnect
Subscribe
UnSubscribe
Publish
上一篇
下一篇
vertx future 与 CompletionStage 互操作
vertx webclient 使用
vertx core http 客户端 例子
MQTT 术语
物联网网关和边缘计算
物联网协议