赞
踩
轻量级物联网消息传输协议,采用发布/订阅模式,允许客户端通过代理服务器
(1)轻量级
(2)发布/订阅模式
生产者将消息发布到特定的主题(Topic),而消费者则可以订阅感兴趣的主题
(3)可靠性
提供不同的服务质量(QoS)级别,包括至多一次传递、至少一次传递和仅一次传递
(4)长连接
客户端可以通过定期发送心跳包来保持连接,减少了因频繁连接和断开而产生的开销
(5)遗嘱消息
当客户端异常断开连接时,服务端可以向 订阅了该客户端主题 的其他客户端发送遗嘱消息,以便实现状态管理和异常处理
(6)适用性广泛
包括物联网、传感器网络、移动应用、实时监控等
(1)更轻量级
HTTP头部信息很大,MQTT其头部信息较小,传输效率高,适合在带宽有限的网络环境中使用
(2) 发布/订阅模式
(3)适用于异步通信
MQTT客户端可以订阅主题并接收实时的消息;而 HTTP 协议通常是同步通信,客户端需要主动发起请求才能获取数据。
(4)长链接:MQTT是长链接,HTTP不是长链接
(5)更适用于物联网和传感器网络
如EMQ X或阿里云。这些服务器软件提供了完整的 MQTT 协议实现,并且通常提供了管理界面和监控功能
(1) QoS 0:至多一次传输
消息发布者将消息发送到服务器,但服务器不会对消息进行确认。消息将被发送一次,接收者不需做任何确认,消息可能会丢失或重复。
(2)QoS 1:至少一次传输
消息发布者将消息发送到服务器,服务器将对消息进行确认。如果服务器未收到确认,则会重新发送消息。这确保消息至少会被接收一次,但可能会重复传输。
(3)QoS 2:只有一次传输(最高级)
提供最高级别的消息传递保证。消息发布者将消息发送到服务器,并且服务器会对消息进行确认。服务器还会确保消息只被传递一次。这意味着消息不会重复传输,也不会丢失。
(1)连接:客户端首先需要与MQTT代理服务器建立连接
(2)订阅:一旦连接建立客户端可订阅一个或多个主题(Topic),客户端可以指定主题的服务质量(QoS)级别
(3)发布:客户端向服务器发送消息,包括消息内容和主题。服务器将收到的消息后 传递给所有已经订阅了相关主题的订阅者。
(4)接收消息:订阅了相关主题的客户端会收到服务器转发的消息。服务器会根据订阅者的QoS级别要求,确保消息按照指定的质量级别进行传递。
(5)取消订阅:客户端发送取消订阅请求
(6)断开连接:客户端发送断开连接请求
(1)客户端断线时,MQTT 服务器会保留客户端的消息,直到客户端重新连接
(2)当客户端重新连接到 MQTT 服务器时,根据客户端的会话状态,客户端将会收到之前未分发的消息。
(3)MQTT 协议中,客户端可以设置一个“clean session”标志。如果设置为 true,表示客户端重新连接时会清除之前的会话状态
(4)遗嘱消息机制,当客户端异常断线时,服务器可以向 该客户端订阅的主题的订阅者 通知其断线情况。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。