zoukankan      html  css  js  c++  java
  • 物联网开发之MQTT通讯

    MQTT协议-MQTT协议简介

      MQTT(Message Queuing Telemetry Transport,消息队列遥测传输协议),是一个客户端服务端架构的发布/订阅模式的“轻量级”消息传输协议。MQTT控制报文由三部分组成,依次为:固定报头(Fixed header)、可变报头(Variable header)、有效载荷(Payload)。

    1、MQTT协议的特点

      客户端Client 使用MQTT的程序或设备,客户端总是通过网络连接到服务端。它可以

            (1)发布应用消息给其它相关的客户端。

            (2)订阅以请求接受相关的应用消息,

            (3)取消订阅以移除接受应用消息的请求。

            (4)从服务端断开连接。

      服务端Server  一个程序或设备,作为发送消息的客户端和请求订阅的客户端之间的中介。服务端

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

            (2)接受客户端发送的应用消息。

            (3)处理客户端的订阅和取消订阅请求。

            (4)转发应用消息给符合条件的已订阅客户端。

                                 

    2、MQTT协议的格式

      (1)固定报头,每个MQTT控制报文都包含,用来描述数据报文类型以及指定控制报文类型的标志位。

     Byte  7  6  5  4  3  2  1  0
     byte 1  MQTT控制报文类型  指定控制报文类型的标志位
     byte 2  数据包剩余长度

         控制报文的类型:

    名字 报文流动方向 描述
    Reserved 0 禁止 保留
    CONNECT 1 客户端到服务端 客户端请求连接服务端
    CONNACK 2 服务端到客户端 连接报文确认
    PUBLISH  两个方向都允许  发布消息
    SUBSCRIBE 8 客户端到服务端 客户端订阅请求
  • 相关阅读:
    分享知识-快乐自己:Shiro 退出登陆清空缓存实现
    分享知识-快乐自己:复选框、全选/反选/获取值
    分享知识-快乐自己:初中级 java 面试题宝典
    分享知识-快乐自己:Liunx 搭建 Dubbo
    分享知识-快乐自己:Liunx 安装 Zookeeper
    分享知识-快乐自己:揭秘HDFS
    计算文件的长度
    fgetc, getchar(), fscanf的问题
    绘制数学函数图像
    C语言遍历一个文件夹下面的所有文件
  • 原文地址:https://www.cnblogs.com/gzqblogs/p/10640989.html
Copyright © 2011-2022 走看看