mqtt第一次接触

一、接触的原因

  公司最近要求接手关于系统集成道闸的部分,其中系统和第三方系统是通过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

原文地址:https://www.cnblogs.com/yaqee/p/11069048.html

时间: 2024-11-06 07:40:26

mqtt第一次接触的相关文章

第一次接触oracle数据库与suse系统心得

第一次搭建oracle用了两天时间.............. 经历了太多的艰难 所以做一些总结 总结,心得: 因为昨天安装多次未成功,所以今天在部署前,先总结了一下昨天出现的问题,提前做好了一些相应的措施,避免了一些不必要的麻烦 先叙述下昨天的大概流程:            昨天在安装的时候,先是在网上找了文档,然后就开始在VMware上部署oracle的运行环境SUSe11 当时VMware上给的配置如下:(处理器1p/1c 内存1G 硬盘10G 等系统安装完成后就开始配置网络,让虚拟机与

第一次接触实际环境---NAT转换

今天在技术群里,有个做软件的哥们公司里面要安装网络,就剩一个NAT了,后来我就主动接茬,其实没接触过真实的网络,第一次接触我也挺紧张的,第一次就这么破了^_^,其实很简单,但是我很高兴,那就给大家讲一下咯\(^o^)/~ 今天原本要用NAT的但是考虑到他公司的电脑多,没用NAT,用的PAT 先说一下NAT和PAT的区别吧 NAT的地址转换是指每个内网地址都被转换成ip地址+源端口的方式,这需要公网ip地址为多个.而PAT由于ip地址不足够,就会出现内网地址被转换成ip地址+端口段的形式,这样的公

空调的进化史:“大多数美国人是在电影院第一次接触到空调的”

空调的进化就像人类的进化一样,适者生存:区别在于,人类是为了适应自然环境的需求而空调是为了满足人类不断变化的需求.夏天睡醒了,为了大家的福利着想,现在就来"八一八"空调的进化史吧,看看人类都有什么稀奇古怪的需求?!空调又是如何变化的?现在的空调又是以怎样的难以想象的高科技颠覆你的"三观"?未来的空调又将会是怎样的逆天存在? 空调的进化史 你知道吗?空调最初并不是因为人才产生的,而是源于一个印刷作坊,印刷机由于空气湿度与湿度的变化使得纸张伸缩不定,对位不准,印出来的东

第一次接触oc

第一次接触oc,要明白oc与之前所接触过得C语言不同,oc是面向对象而C语言是面向过程的,对于新手来说分清这2个的区别还是挺困难的. 首先面向过程是一种以事件为中心的编程思想—分析出解决问题所需的步骤,然后用函数把这些步骤一步一步实现,使用的时候一步一步调用. 而面向对象是一种以事物为中心的编程思想,体现在它是把问题分解给各个对象,建立对象不是为了完成一个步骤,而是为了描述某个事物在整个问题的步骤中的行为.力图使计算机语言对事物的描述与现实中改事物的本来面目尽可能一致. 这时候我们 就要了解什么

第一次接触shiro --- 开源之旅

1)shiro的身份验证过程在外界主要是和subject打交道,就行登录 3)SecurityManage负责整个身份验证的过程 2)和对于整个过程需要个来源,就是realm 第一次接触shiro --- 开源之旅

第一次接触Java

在学习完计算机基础后,开始学习了专业课程Java.这是我第一次接触Java,内心还是有点小激动的,想到在以后的工作中都离不开这个了.虽然说之前没有接触过Java,但我大学的时候,学过Vb也考过了计算机二级,所以对于代码来说不陌生,只不过有着不同的语法而已.对于第一天学习Java,难度不是很大,对于老师讲的内容,自己多练习练习就好. 虽然第一天老师讲的内容不多,自己也练了很多次,但对于以后的学习也不能放松.以后的每天老师白天讲的知识一定要听懂,然后自己要勤加练习,老师布置的作业一定要自己完成,如果

第一次接触OC多态,动态类型与动态绑定

多态:允许不同的类定义相同的方法. 动态类型:程序直到执行时才能确定所属的类. 动态绑定:程序直到执行时才能确定实际要调用的方法. id类型:一种通用的对象类型,也就是说,id可以用来存储属于任何类的对象,让不同类的输出不用特定设定,通用一个id类型就好. 多态的出现时为了让不同的类能使用同明的方法.比如add,这个让程序的可读性大大提高,也降低了编程难度.add就是+,哪种类型的+都用add标明方法,清晰易懂. 动态类型与动态绑定是为了解决随多态的便利而引起的弊端,有了动态类型与动态绑定,不用

百度地图API的第一次接触

因为项目的需求,第一次接触了百度API. 第一步:引用百度地图API的脚本 如果在局域网环境中,要把地图文件和js文件都要下载下来 <script type="text/javascript" src="http://api.map.baidu.com/api?key=*****************&v=1.0&services=false"></script> 这个要去百度开发者中心申请KEY 第二步:建立一个你随便取名

个人理解去搭建SSH三大框架spring管理配置文件(初学第一次接触SSH)

<bean id="dataSuorces" class="org.springframework.jdbc.datasource.DriverManagerDataSource"> <property name="driverClassName" value="oracle.jdbc.OracleDirver"/>(oracle数据库) <property name="url"