美文网首页
对MQTT的一些笔记整理

对MQTT的一些笔记整理

作者: 不想再当程序猿 | 来源:发表于2017-11-15 00:02 被阅读243次

这里只是做了一些简单的笔记,这些内容都是通过看一个大神的文章MQTT协议中文版文档总结的一些笔记:

1.MQTT协议的实现方式:

2.对传输消息有三种服务质量(QoS):

  • Qos0:最多一次,这一级别会发生消息丢失或重复,消息发布依赖于底层TCP/IP网络。即:


  • QoS1:至少一次,这一级别会确保消息到达,但消息可能会重复。即:>=1


  • QoS2:只有一次,确保消息只有一次到达。即:=1。(推送使用的是这一种):


3.客户端和服务端:

和传统的协议不同,MQTT是一个基于客户端和服务端的发布/订阅模式的消息传输协议。

真正的“服务器端”指的是中间的代理部分(broker),发布者和订阅者都属于“客户端”。

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

  • 发布应用消息给其它相关的客户端。
  • 订阅以请求接受相关的应用消息。
  • 取消订阅以移除接受应用消息的请求。
  • 从服务端断开连接。

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

  • 接受来自客户端的网络连接。
  • 接受客户端发布的应用消息。
  • 处理客户端的订阅和取消订阅请求。
  • 转发应用消息给符合条件的已订阅客户端。

4.控制报文的结构:

  • Fixed header: 固定报头,所有控制报文都包含 一般为1个字节
  • Variable header: 可变报文,部分控制报文包含
  • Payload: 有效载荷,部分控制报文包含

5.遗嘱(will flag:

6.关于CleanSession:

  这个是eclipse.paho.mqtt.golang里面的一个函数,这个实在看文档的时候发现的一个不太理解问题。然后通过查其他资料解决的。
  是用来控制session flags的。

如果cleanSession被置为true那么客户端将不存在持久会话并且在任何情况下连接断开时所有的消息都会被丢弃。当cleanSession被置为false时,持久会话将会被创建,直至客户端再次将cleanSession置为true。如果一个持久会话是可用的,那么消息将会以队列的形式投递给可用的客户端。
在连接之前,您必须设置 cleanSession 方式;在整个会话期间都将保持此方式。要更改此属性的设置,必须将客户机断开连接,然后再重新连接客户机。如果您将cleanSession=false 更改为 cleanSession=true,那么此客户机先前的所有订阅以及尚未接收到的任何发布都将被废弃。

联合使用session flags和wills令你可以处理源于不稳定的网络及自动化服务规模的问题。

7.安全性问题:

这部分东西有点多,没时间详细总结,先放一个链接在这吧......
MQTT协议中文版 第五章 安全

相关文章

  • 对MQTT的一些笔记整理

    这里只是做了一些简单的笔记,这些内容都是通过看一个大神的文章和MQTT协议中文版文档总结的一些笔记: 1.MQTT...

  • 树莓派的MQTT配置

    参考文章 MQTT学习笔记——MQTT协议体验 Mosquitto安装和使用 主要记录初次接触树莓派和MQTT的一...

  • 初中一对一辅导:正确整理课堂笔记的7种方法NT

    有很多学生想知道,如何整理课堂笔记?下面小编整理了一些相关信息,供大家参考! 对课堂笔记进行整理、加工,其方...

  • MQTT---HiveMQ源码详解(十二)Netty-MQTT消

    简介 前面这些章节,讲的基本上都是属于netty对MQTT周边的一些处理,由于MQTT协议总共目前可用的消息类型有...

  • 关于php-mqtt的坑整理笔记

    1.stream_socket_client函数。这个函数在php5.6版本以前,tcp/tls链接报错很模糊。比...

  • 物联网知识整理

    物联网知识整理 协议对比 中移OneNet MQTT对比CoAP

  • 时间管理践行日记Day7

    今天早上整理了印象笔记的一些内容,完善了清单笔记本的内容,对整理越来越有感觉了。 今日践行依然是要事优先,先养成这...

  • MQTT笔记

    mosquitto官网: http://mosquitto.org/man/mqtt-7.html 在macOS安...

  • MQTT笔记

    参考: https://www.jianshu.com/p/54e0238d3fae 三种服务质量(QOS) 0(...

  • MQTT笔记

    首先在本机macOS安装ActiveMQhttps://activemq.apache.org/getting-s...

网友评论

      本文标题:对MQTT的一些笔记整理

      本文链接:https://www.haomeiwen.com/subject/xcyqvxtx.html