MQTT--技术文档--基本概念-《5分钟扫盲mqtt协议》

基本概念

MQTT(Message Queuing Telemetry Transport)是一种基于发布/订阅模式的“轻量级”通讯协议,它构建于TCP/IP协议上,由IBM在1999年发布。MQTT的最大优点在于,能够以很少的代码和有限的带宽,为连接远程设备提供实时可靠的消息服务。

MQTT协议的组件包括:

  1. 发布者(Publisher):发布者是产生消息的节点,它将消息发布到特定的主题(topic)上。
  2. 订阅者(Subscriber):订阅者是接收消息的节点,它通过订阅特定的主题来接收消息。
  3. 代理(Broker):代理是消息的中转站,它负责接收发布者发送的消息,并将其转发给订阅者。
  4. 主题(Topic):主题是发布者和订阅者之间的通信渠道,它由字符串命名,可以看作是一个分类标签。发布者和订阅者通过主题来实现信息的传递。

阿丹:

        区别解读,这里使用的mqtt协议使用在物联网是因为不需要再像http那样发送和接收者之间建立连接。而是发布者发布到一个主题上订阅者去主题上拿取消息就可以了。

MQTT协议的特点包括:

  1. 轻量:MQTT协议的数据传输格式简洁,编码后字节长度很小,使得其传输效率高。
  2. 开放:MQTT是一个开放的协议,任何设备都可以通过TCP/IP网络进行连接和通信。
  3. 基于发布/订阅模式:发布/订阅模式允许发布者和订阅者在不建立直接连接的情况下进行通信,这使得MQTT协议可以支持大规模的设备网络。
  4. 可扩展:MQTT协议可以根据需要进行扩展,添加新的主题和消息类型。

MQTT协议广泛应用于物联网、移动互联网、智能硬件、车联网、电力能源等领域。

MQTT与HTTP的对比

MQTT协议相比HTTP,在以下方面具有优势:

  1. 带宽占用:MQTT协议通过使用发布/订阅模式,使得信息的传输更为高效。它使用一种名为“发布/订阅”的模式,在这种模式下,消息的发送者和接收者之间没有直接连接,大大减少了带宽的占用。相比之下,HTTP协议需要建立和维护TCP连接,对于带宽的需求相对较大。
  2. 实时性:MQTT协议的实时性较好,因为它使用发布/订阅模式,消息的传递不依赖于特定的发送者和接收者,使得消息的传递更为迅速和可靠。相比之下,HTTP协议的实时性相对较差,因为HTTP请求通常需要建立和维护TCP连接,这可能导致消息的延迟。
  3. 设备间的通信:MQTT协议适用于设备间的通信,因为它支持一对多的消息传输,非常适合于需要众多设备间通信的场景。相比之下,HTTP协议更多地被用于客户端和服务器的通信,对于设备间的通信支持相对较弱。
  4. 低功耗:在物联网、小型设备、移动应用等场景中,MQTT协议的节能优势更加明显。由于MQTT协议的消息传输量较小,且不需要频繁的网络连接,因此可以有效降低设备的能耗。相比之下,HTTP协议需要频繁的网络连接和数据传输,可能导致设备的能耗增加。

因此,MQTT协议在带宽占用、实时性、设备间的通信以及低功耗等方面具有优势,使得它在物联网、小型设备、移动应用等领域得到广泛应用。

14种不同的消息类型:

MQTT(Message Queuing Telemetry Transport)是一种轻量级的发布/订阅消息传递协议,用于在低带宽和不可靠的网络环境中进行消息通信。MQTT定义了14种不同的消息类型,这些消息类型用于在客户端和服务器之间进行通信。以下是MQTT的14种不同消息类型:

  1. CONNECT:用于建立与MQTT代理的连接。
  2. CONNACK:连接确认响应。
  3. PUBLISH:发布消息到特定的主题。
  4. PUBACK:发布消息的确认。
  5. PUBREC:发布消息的重复请求。
  6. PUBREL:发布消息的释放。
  7. PUBCOMP:发布消息的完成。
  8. SUBSCRIBE:订阅主题。
  9. SUBACK:订阅确认响应。
  10. UNSUBSCRIBE:取消订阅主题。
  11. UNSUBACK:取消订阅确认响应。
  12. PINGREQ:用于测试网络连接。
  13. PINGRESP:对PINGREQ的响应。
  14. DISCONNECT:断开与MQTT代理的连接。

这些消息类型用于实现MQTT协议的各种操作,例如发布/订阅消息、确认消息、建立/断开连接等。

你可能感兴趣的:(mqtt,网络)