MQTT下载地址 link
MQTT 简介
MQTT(Message Queuing Telemetry Transport,消息队列遥测传输),是一种即时通信协议。
适用范围:机器与机器间通信,即M2M,或物料网之间。
设计思想:轻巧,开放、简单、规范且易于实现。
定义:客户端/服务端架构的发布/订阅模式的消息传输协议。
MQTT服务器种类:mosquitto、emqttd、Apache Apollo.
结构拓扑图:
客户端:常规完成的工作内容包括
- (1)发布其他客户端可能会订阅的信息;
- (2)订阅其它客户端发布的消息;
- (3)退订或删除应用程序的消息;
- (4)断开与服务器连接。
服务端 常规完成的工作内容包括
- (1)接受来自客户的网络连接;
- (2)接受客户发布的应用信息;
- (3)处理来自客户端的订阅和退订请求;
- (4)向订阅的客户转发应用程序消息。
MQTT协议中包括主体内容:MQTT协议中的订阅、主题、会话。
订阅(Subscription)订阅包含主题筛选器(Topic Filter)和最大服务质量(QoS)。订阅会与一个会话(Session)关联。一个会话可以包含多个订阅。每一个会话中的每个订阅都有一个不同的主题筛选器。
会话(Session)每个客户端与服务器建立连接后就是一个会话,客户端和服务器之间有状态交互。会话存在于一个网络之间,也可能在客户端和服务器之间跨越多个连续的网络连接。
主题名(Topic Name)连接到一个应用程序消息的标签,该标签与服务器的订阅相匹配。服务器会将消息发送给订阅所匹配标签的每个客户端。
主题筛选器(Topic Filter)一个对主题名通配符筛选器,在订阅表达式中使用,表示订阅所匹配到的多个主题。
负载(Payload)消息订阅者所具体接收的内容。