一、接触的原因

  公司最近要求接手关于系统集成道闸的部分,其中系统和第三方系统是通过mqtt进行交互的。所以提前了解一下mqtt的基础概念。

二、mqtt的基本概念

  1. mqtt的定义

    Message Queuing Telemetry Transport,消息队列遥测传输协议。它是基于tcp/ip协议的,同时它的设计模式是采用的发布/订阅模式。

  2.mqtt协议中的成员:发布者、代理和订阅者。

   (1)发布者:发布者可以发布信息给其它客户端(订阅者)订阅,它发布的一个主题消息可以被订阅多次。

   (2)代理:代理又称为服务器,可以接受来自发布者或订阅者的连接,同时能够处理订阅者的订阅或退订请求,还能够将发布者发布的消息推送给订阅者。

   (3)订阅者:能够接受来自发布者发布的信息,能够退订。

  3.常用概念

   (1)订阅:订阅包含主题筛选器(Topic Filter)和服务质量(QoS)。订阅可以与会话关联,一个会话可以关联多个订阅。

     (2)会话:客户端与服务器建立连接就是一个会话。

     (3)主题:消息的类型,订阅者通过订阅的主题接受发布者发布的消息。

   (4)负载:订阅者接收到的消息。

   (5)服务质量:发布消息的质量,保证消息传递的次数。

      a.至多一次:只发送一次,消息可能会丢失,在传感器传输数据时,数据会定时刷新发送,数据的丢失不是那么的重要,可以使用该服务质量。

      b.至少一次:保证订阅者能够接收到发送的消息,这种情况下消息可能重复。

      c.只有一次:确保订阅者接收消息一次,不会重复也不会丢失。

三、安装EMQ服务器

  1.我使用的是windows 10版本的。点击这里进入下载页面。

  2.下载后解压,进入解压文件夹,在cmd中输入bin\emqx.cmd start启动服务器。

  3.我的服务器是安装在本地的,在Web中输入127.0.0.1:18083可以显示控制台。

  4.客户端测试工具-MQTTBox。

四、java测试订阅发布,在这里就不细述,网上博客很多。

五、相关博客

https://www.runoob.com/w3cnote/mqtt-intro.html

https://www.jianshu.com/p/e5cf0c1fd55c

https://blog.csdn.net/zhu_tianwei/article/details/49178167

mqtt第一次接触的更多相关文章

  1. 第一次接触终极事务处理——Hekaton

    在这篇文章里,我想给出如何与终极事务处理(Extreme Transaction Processing (XTP) )的第一次接触,即大家熟知的Hakaton.如果你想对XTP有个很好的概况认识,我推 ...

  2. [译]与TensorFlow的第一次接触(三)之聚类

    转自 [译]与TensorFlow的第一次接触(三)之聚类 2016.08.09 16:58* 字数 4316 阅读 7916评论 5喜欢 18 前一章节中介绍的线性回归是一种监督学习算法,我们使用数 ...

  3. 第一次接触FPGA至今,总结的宝贵经验

    从大学时代第一次接触FPGA至今已有10多年的时间,至今记得当初第一次在EDA实验平台上完成数字秒表.抢答器.密码锁等实验时那个兴奋劲.当时由于没有接触到HDL硬件描述语言,设计都是在MAX+plus ...

  4. Hybird App(一)----第一次接触

    App你知道多少 一 什么是Native App 长处 缺点 二 什么是Web App 长处 缺点 三 什么是Hybrid App 长处 缺点 四 Web AppHybrid AppNative Ap ...

  5. 第一次接触C++------感触

    2018/09/24 上大学第一次接触C++,感觉还挺有趣的. C语言是计算机的一门语言,顾名思义,语言嘛,有它自己独特的语法. 第一次用C++敲代码,觉得还挺不错的,可以从中找到乐趣.咏梅老师布置的 ...

  6. 孤荷凌寒自学python第五十天第一次接触NoSql数据库_Firebase

    孤荷凌寒自学python第五十天第一次接触NoSql数据库_Firebase (完整学习过程屏幕记录视频地址在文末) 之前对关系型数据库的学习告一段落,虽然能力所限没有能够完全完成理想中的所有数据库操 ...

  7. 百度地图API的第一次接触

    因为项目的需求,第一次接触了百度API. 第一步:引用百度地图API的脚本 如果在局域网环境中,要把地图文件和js文件都要下载下来 <script type="text/javascr ...

  8. 第一次接触数据库(SQLite)

    第一次接触,学了创建列表 + 行的删除 + 内容的更改 + 删除列表 第一次接触要知道一些基本知识 NULL(SQL) = Nnoe(python)  #空值 INTEGER = int  #整数 R ...

  9. 今天第一次接触到typescript,看了第一个知识点就是变量的声明,来回忆回忆,做做笔记

    以前只用过JavaScript原生写网站特效,今天还是第一次听说typescript的,然后看了一下它的基本知识,感觉很像Java,真的太像了,但是又有不同点.很让我惊奇看到的第一个知识点就和以前不同 ...

随机推荐

  1. BFC原理解析

    BFC的概念 块格式化上下文(Block Formatting Context,BFC) 是Web页面的可视化CSS渲染的一部分,是块盒子的布局过程发生的区域,也是浮动元素与其他元素交互的区域. 它是 ...

  2. web 部署专题(一):Gunicorn运行与配置方法

    Gunicorn“绿色独角兽”是一个被广泛使用的高性能的Python WSGI UNIX HTTP服务器,移植自Ruby的独角兽(Unicorn )项目,使用pre-fork worker模式,具有使 ...

  3. web 部署专题(九):Nginx 前后端分离中csrf_token 认证的实现

    1. 思路 参考:https://stackoverflow.com/questions/20826201/simple-csrf-protection-using-nginx-alone?r=Sea ...

  4. python 并发专题(九):基础部分补充(一)进程

    概念 串行:所有的任务一个一个的完成. 并发:一个cpu完成多个任务.看起来像是同时完成. 并行:多个cpu执行多个任务,真正的同时完成. 阻塞:cpu遇到IO就是阻塞. 非阻塞:没有IO,就叫非阻塞 ...

  5. 关于Mint-UI中loadmore组件的兼容性问题

    源代码 遇到的问题 写完了之后数据加载,渲染等等都是没有问题的,但是测试总是提上滑刷新不能用,因为是远程开发,测试提就得改,看代码看文档,看半天看不出来问题,想到了兼容性问题,发现也有人遇到这个坑.安 ...

  6. P1050 精卫填海

    [问题描述] 发鸠之山,其上多柘木.有鸟焉,其状如乌,文首,白喙,赤足,名曰精卫,其名自詨.是炎帝之少女,名曰女娃.女娃游于东海,溺而不返,故为精卫.常衔西山之木石,以堙于东海.——<山海经&g ...

  7. Python3 装饰器解析

    第6章 函数 6.1 函数的定义和调用 6.2 参数传递 6.3 函数返回值 6.4 变量作用域 6.5 匿名函数(lambda) 6.6 递归函数 6.7 迭代器 6.8 生成器 6.9 装饰器 6 ...

  8. 013.Nginx动静分离

    一 动静分离概述 1.1 动静分离介绍 为了提高网站的响应速度,减轻程序服务器(Tomcat,Jboss等)的负载,对于静态资源,如图片.js.css等文件,可以在反向代理服务器中进行缓存,这样浏览器 ...

  9. nodejs--抓取页面的数据--图

    感觉挺有意思,比php好玩 ----做个图留个 纪念

  10. Nginx 服务器配置支持SignalR (WebSocket)

    今天SignalR部署在测试环境服务器前端出现无法连接,前端报错如下: failed: Error during WebSocket handshake: Unexpected response co ...