MQTT简介
MQTT(Message Queuing Telemetry Transport,消息队列遥测传输协议)。MQTT是一个基于客户端和服务端的发布/订阅模式的消息传输协议。
客户端、中间件和建立连接
客户端
我们所说的客户端泛指MQTT的客户端,包含发布者和订阅者,分别负责发布消息和订阅消息。
注意:客户端的ID必须是唯一的。通常的做法是将时间字符串作为客户端的唯一标识
中间件
和MQTT客户端协作的另一部分是MQTT broker, 其被称为发布/订阅协议的心脏部分,根据具体的实现不同,一个broker可以支持数以千计的客户端并发连接。broker的主要职责是接受所有消息,并将其过滤后分发给不同的消息订阅者。
broker是怎样过滤消息的,如何使订阅者只接受到其感兴趣的消息?
- 基于主题过滤
- 基于内容过滤
- 基于类型过滤
MQTT的连接
MQTT协议基于TCP/IP,并工作在其上层,所有的客户端和broker都需要支持TCP/IP协议。