1. 术语
1.1 网络连接
- 连接客户端到服务端。
- 提供一种有序、无损、双向字节流方式。
1.2 应用消息
MQTT协议为应用跨网络运载的数据。MQTT传输应用消息是,她包含负荷数据,服务质量(QoS), 一个属性组合及标题名称。
1.3 客户端(Client)
使用MQTT的程序或设备,即为客户端:
- 打开服务器连接。
- 发布其他客户端关注的应用消息。
- 订阅其关注的应用消息。
- 取消订阅应用消息
- 关闭服务器连接。
1.4 服务端(Server)
一个程序或设备表作为发布、订阅应用消息客户端的中间协调者,即为服务端。
- 接收客户端的网络连接。
- 接收客户端发布的应用消息。
- 处理客户端的订阅、取消订阅请求。
- 透传应用消息给匹配的客户端订阅者。
- 关闭客户端的网络连接。
1.5 会话(Session)
客户端和服务端有状态的 连接即为会话。部分会话整个连接期间都保持,部分会话只持续几个网络连接。
1.6 订阅(Subscription)
订阅包含主题过滤器和服务质量(Qos)。一个订阅只能与一个会话相关,但一个会话可以包含多个订阅。对话中的每个订阅都有不同主题过滤器。
1.7 共享订阅
共享订阅包含一个主题过滤器和质量服务(Qos)。一个共享订阅可以与多个会话相关,以支持更广泛的消息交换模式。共享订阅匹配的影响消息,只发送给其中一个会话。一个会话可以订阅多个共享订阅,且可同包含共享订阅和非共享订阅。
1.8 模糊订阅(Wildcard Subscription)
模块订阅的主题过滤器包含一个或多个通配符。该订阅可以匹配一个或多个主题名。
1.9 主题名称(Topic Name)
应用消息附带的标签,用于服务订阅匹配,即为主题名称。
1.10 主题过滤器
一个订阅的表达式,用于表明其关注的一个或多个主题。主题过滤器可保护通配符。
1.11 MQTT控制包
一种跨网络传输的信息包。MQTT规范定义了15种MQTT控制包,例如用于传输消息的发布包。
1.12 异常包(Malformed Packet)
异常包即为一种不可解析的控制包。
1.13 协议错误(Protocol Error)
包解析发现包含协议不允许的数据或,或者与客户端、服务端状态不一致,即为错误。
1.14 遗嘱消息(Will Message)
网络连接关闭后,服务器发布的应用消息以防网络连接异常关闭。
1.15 非法编码
Unicode 控制码及Unicode 非字符不可包含在UTF-8 编码字符串中