常见MQTT服务器搭建与试用(亲测通过)[通俗易懂]

常见MQTT服务器搭建与试用(亲测通过)[通俗易懂]常见MQTT服务器搭建与试用(亲测通过)简介MQTT(MessageQueuingTelemetryTransport,消息队列遥测传输)是IBM开发的一个即时通讯协议,它比较适合于在低带宽、不可靠的网络的进行远程传感器和控制设备通讯等,正在日益成为物联网通信协议的重要组成部分。MQTT现在主要用于即时通讯,物联网M2M,物联网采集等。本文就社区上常见的开源MQTT服务器在常见操作系统上…

大家好,又见面了,我是你们的朋友全栈君。

常见MQTT服务器搭建与试用(亲测通过)

简介

MQTT(Message Queuing Telemetry Transport,消息队列遥测传输)是IBM开发的一个即时通讯协议,它比较适合于在低带宽、不可靠的网络的进行远程传感器和控制设备通讯等,正在日益成为物联网通信协议的重要组成部分。MQTT现在主要用于即时通讯,物联网M2M,物联网采集等。本文就社区上常见的开源MQTT服务器在常见操作系统上的搭建做详细介绍。目前一些开源MQTT服务中间件有:

1)EMQX:github 4882 stars

2)Mosquitto:github 1645 stars

3)Apollo:ActiveMQ的升级版,github 109 stars,但是该项目已经有3~4年没有更新。而其号称的老版本ActiveMQ反而更新更加频繁。

建议读者在阅读此篇文章之前,最好对MQTT协议有一些基本的了解,比如消息主题,消息发布,消息订阅和QoS等。

EMQ服务器在Windows搭建

1)点击这里,下载EMQ windows版

2)解压emqttd-windows7-v2.3.9.zip(我下载的是这个版本,这里是解压到D盘)

3)打开 Windows 命令行窗口,进入emqtt解压目录

4)在Windows命令行中启动EMQ,执行下列命令

bin\emqttd.cmd start

在这里插入图片描述5)EMQ提供了一个后端Web控制台,用户可通过 Web 控制台,查看服务器运行状态、统计数据、客户端(Client)、会话(Session)、主题(Topic)、订阅(Subscription)、插件(Plugin)。如果EMQ安装在本机,则在浏览器打开http://127.0.0.1:18083,输入默认用户名“admin”和默认密码“public”,进入EMQ管理控制台。如下图所示,“Stats(1)”表格中,显示的是客户端和Topic的一些基本信息,比如“Clients/Count”的数目为0,表示目前连接的客户端数目为0;“Client/Max”表示的是连接曾经达到的最大值等。这里不对每项做一一介绍,读者对MQTT协议比较熟悉之后,就能理解监控仪表盘上的内容。

在这里插入图片描述

客户端测试 – MQTTBox

在安装好服务器端之后,我们使用MQTT的客户端对MQTT服务器的基本功能进行相关的测试。MQTT客户端有不少,比如mosquito提供了命令行,通过命令行工具可以方便地进行测试;最简单的方式可能还是通过可视化的界面对其进行测试,EMQ君建议用MQTTBox。MQTTBox有两种使用的方式:一种为Chrome插件;另外一种为Windows程序安装。两种方式下使用的方法差不多,本文以Windows程序安装版来介绍其功能。

安装步骤

1)下载安装软件:读者可以根据自己的喜好,下载不同的版本:此处为Chrome版本的下载地址(需翻墙);此处为Windows安装程序

2)根据安装向导的提示,完成MQTTBox的安装
在这里插入图片描述
3)打开安装好的应用图标,如下图所示

在这里插入图片描述

测试消息发布/订阅(Pub/Sub)功能

MQTT协议中通过主题(Topic)在消息发布者和

1)建立MQTT连接,如下图所示,点击“Create MQTT Client”

在这里插入图片描述2)指定连接相关信息,包括连接名称(可以随意输入)、协议(选择mqtt/tcp)和主机地址(安装在本地,MQTT缺省端口为1883,所以输入127.0.0.1:1883),然后单击“Save”保存。连接中一些别的选项先保持缺省值,读者对MQTT协议比较熟悉之后,就可以了解这些选项的意义。

在这里插入图片描述保存成功后进入如下的界面,接下来可以开始测试消息发布和订阅。如下图所示,绿色“Connected”按钮表明当前MQTT连接已经成功

在这里插入图片描述3)首先我们开启一个订阅,如下图所示。“Topic to subscribe”里填入要订阅的主题“windows”;“QoS”字段选择“0 – Almost Once”;然后点击“Subscribe”按钮
在这里插入图片描述4)设置好订阅的主题后,在发布这边输入如下的信息。“Topic to publish”中输入“windows”,这里输入的主题的名字必须和订阅那里的输入相同;“QoS”中选择“0 – Almost Once”;“Payload”中输入任何内容都可以,如下图所示输入了一组JSON字符串;所有内容输入完毕之后,点击“Publish”按钮

在这里插入图片描述

5)在订阅端就会收到由服务器端转发的消息内容,如下图所示。
在这里插入图片描述6)打开EMQ的管理员控制台,可以看到一些相关的统计数据已经发生了变化。比如在“The messages data”表格中,“qos0/received”的值为1,说明EMQ收到了1条QoS0的消息;“qos0/sent”的值为1,表示EMQ转发了一条QoS0的消息。

在这里插入图片描述好了,编程算啥事君带领着大家初步领略了MQTT服务器能够提供的基本功能,如果读者想了解其它MQTT服务器在不同平台上的安装的话,请参考以下系列文章。
Ubuntu上搭建EMQ MQTT服务器

Ubuntu上搭建EMQ Mosquito服务器

==============================================================

分割线


在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述在这里插入图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/144851.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • Oracle数据库增删改查

    Oracle数据库增删改查1、查询SELECT由于之前安装的oracle数据库中选择了生成示例方案,oracle默认提供了三张数据表,分别是(emp,dept,salgrade)此时数据显得很乱,我们可以通过设置显示的宽度以及每页显示的数据SETLINESIZE300;SETPAGESIZE30;emp表dept表salgrade表在编写SQL语句的时候需注意一个规则:关键字使用大写字母,…

  • [JAVA]定时任务之-Quartz使用篇

    [JAVA]定时任务之-Quartz使用篇定时任务之-Quartz使用篇        Quartz是OpenSymphony开源组织在Jobscheduling领域又一个开源项目,它可以与J2EE与J2SE应用程序相结合也可以单独使用。Quartz可以用来创建简单或为运行十个,百个,甚至是好几万个Jobs这样复杂的日程序表。Jobs可以做成标准的Java组件或EJBs。官方网站:http://www.opensymphon

  • 20多岁的一无所有,其实是理所应当的「建议收藏」

    20多岁的一无所有,其实是理所应当的「建议收藏」 转载:https://blog.csdn.net/kangwrite/article/details/3618481923岁那年你正处在哪个状态?现在呢? 我,23岁,应届毕业生。生活,工作,爱情都处于人生的低谷,一穷二白,一无所有,一事无成。分享一下成长的建议吧。匿名用户23岁那年…

  • C# FileStream简单介绍和使用

    C# FileStream简单介绍和使用本章讲述:FileStream类的基本功能,以及简单示例;1、引用命名空间:usingSystem.IO;2、注意:使用IO操作文件时,要注意流关闭和释放问题!强力推荐:将创建文件流对象的过程写在using当中,会自动帮助我们释放资源;使用try{}catch(Exceptionex){}进行一次捕获;3、FileStream操作字节,可以操作任何类型…

  • Origin Pro2022教育版官方申请、安装及汉化、续期

    Origin Pro2022教育版官方申请、安装及汉化、续期OriginLab官网简介绝大多数学生都使用过Origin来绘图,并将这些图作为自己设计报告或者论文中的重要组成部分,这一点也是源于Origin在数据显示专业性。教育版有一些限制,比如序列号仅6个月有效期,窗口限制12个(窗口限制表示Origin项目中可访问的窗口数,包括所有类型的窗口-WorkBook,Matrix,Graph,Notes,Layout等总共限制为12个)。但是6个月后可重复文章步骤重新申请新的序列号与激活码(可以使用相同邮箱),且12个窗口可以在多数情况下能够满足需要。

  • SqlDataSource WEB控件:当DeleteCommandType=”storedProcedure”时「建议收藏」

    SqlDataSource WEB控件:当DeleteCommandType=”storedProcedure”时「建议收藏」设计Users表:UserID,NameArticles表:ArticleID,UserID,ArticleTitle生成视图:SELECT     dbo.Articles.ArticleID, dbo.Articles.ArticleTitle, dbo.Users.NameFROM         dbo.Articles INNER JOIN                      db…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号