MQTT通信协议简介

简介:

  • MQTT是一种基于“发布/订阅”的轻量级通信协议,它构建在在TCP/IP协议上。它最大的优点是可以用低开销实现实时可靠的远程设备消息服务。在物联网领域有广泛的应用。

基本特点

  1. 使用发布/订阅消息模式,提供一对多的消息发布,可以解除应用程序耦合。
    协议需要客户端和服务端,而协议中主要有三种身份:发布者(Publisher)、代理(Broker,服务器)、订阅者(Subscriber)。其中,消息的发布者和订阅者都是客户端,消息代理是服务器,而消息发布者可以同时是订阅者,实现了生产者与消费者的脱耦。
    在这里插入图片描述

  2. 对负载内容屏蔽的消息传输。可以有选择对订阅者接收的内容屏蔽

  3. 使用TCP/IP提供网络连接,可以提供有序的稳定的数据。MQTT协议运行于TCP之上,属于应用层协议,因此只要是支持TCP/IP协议栈的地方,都可以使用MQTT。

  4. 有三种消息发布服务质量Qos
    Qos 0 :这一级别会发生消息丢失或重复,消息发布依赖于底层TCP/IP网络
    QoS 1 :承诺消息将至少传送一次给订阅者,信息可能会重复
    QoS 2 :保证消息仅传送到目的地一次

  5. 小型传输,开销很小(固定长度的头部是2字节)

实现方式

MQTT传输的消息分为:主题(Topic)和负载(payload)两部分:
  (1)Topic,消息的类型,订阅者订阅(Subscribe)后,就会收到该主题的消息内容(payload);
  (2)payload,消息的内容,是指订阅者具体要使用的内容。

网络传输与应用消息

当应用数据通过MQTT网络发送时,MQTT会把与之相关的服务质量(QoS)和主题名(Topic)相关连。

MQTT客户端的功能

(1)发布其他客户端可能会订阅的信息;

(2)订阅其它客户端发布的消息;

(3)退订或删除应用程序的消息;

(4)断开与服务器连接。

MQTT服务器

(1)接受来自客户的网络连接;

(2)接受客户发布的应用信息;

(3)处理来自客户端的订阅和退订请求;

(4)向订阅的客户转发应用程序消息。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值