场景

MQTT协议

MQTT(Message Queuing Telemetry Transport,消息队列遥测传输协议),是一种基于发布/订阅(publish/subscribe)模式的"轻量级"通讯协议,该协议构建于TCP/IP协议上,由IBM在1999年发布。MQTT最大优点在于,可以以极少的代码和有限的带宽,为连接远程设备提供实时可靠的消息服务。作为一种低开销、低带宽占用的即时通讯协议,使其在物联网、小型设备、移动应用等方面有较广泛的应用。

发布/订阅者模式

MQTT是一个基于客户端-服务器的消息发布/订阅传输协议。MQTT协议是轻量、简单、开放和易于实现的,这些特点使它适用范围非常广泛。 在很多情况下,包括受限的环境中,如:机器与机器(M2M)通信和物联网(IoT)。其在,通过卫星链路通信传感器、偶尔拨号的医疗设备、智能家居、及一些小型化设备中已广泛使用。

 

Broker代理:MQTT服务器,类似中间件,用来处理信息并发送到相应的订阅者

发布者:用于发布信息到代理上,发布者也可以是订阅者

订阅者:用于接受信息的客户端

注:

博客:
https://blog.csdn.net/badao_liumang_qizhi
关注公众号
霸道的程序猿
获取编程相关电子书、教程推送与免费下载。

实现

Windows上Mqtt服务器的搭建

下载地址:

https://activemq.apache.org/

选择经典版下载

 

然后选择Windows版的压缩包下载

 

下载成功后将其解压到某路径下

 

创建实例

进入到bin目录并在此处打开cmd执行以下命令

activemq-admin.bat create mybroker

 

创建实例成功后会在此目录下生成实例名的文件夹

 

查看登录用户名和密码

进入上面创建的实例目录下的conf目录下的users.properties,可以查看和修改用户名密码

 

在此目录下的activemq.xml中可以查看和修改各种协议连接的端口号,比如这里的mqtt协议的端口号默认是1883

 

然后可以在此目录下的jetty.xml中对后台管理员登录的ip和端口进行查看和修改,默认是8161

 

启动MQTT服务器

进入到上面实例目录下的bin目录,打开cmd,执行如下

mybroker.bat start

 

登录管理员后台

浏览器打开如下

http://localhost:8161/

 

输入管理员密码,默认是admin  admin

登录成功后进入管理页面

 

Mqtt服务器搭建成功

 

然后开始安装客户端工具

MQTTBox客户端工具的安装

下载地址:

http://workswithweb.com/html/mqttbox/downloads.html

官方下载地址打不开可以在这里下载

https://download.csdn.net/download/BADAO_LIUMANG_QIZHI/14037794

下载之后直接双击

 

然后点击Create MQTT Client按钮,创建客户端

 

这里需要配置一些参数,协议选择mqtt/tcp,host就是上面配置文件的端口,然后用户名和密码是上面配置文件的用户名和密码。点击save

 

如果是绿色则表示配置成功,如果是红色的错误提示则配置的参数不对。

客户端与服务端进行连接测试

打开客户端在右边的订阅者的部分,输入一个主题,这里叫badao,然后点击Subscribe进行订阅

 

然后在左边的发布者输入相同的主题,Payload Type 代表发送的消息类型,在Payload中输入发送的内容,点击发布

 

可以看到在订阅者就收到服务器转发的消息了,然后在服务器后台管理页面下的Topics下就可以看到相应的主题了。

 

posted on 2021-01-07 11:37  霸道流氓  阅读(6667)  评论(2编辑  收藏  举报

Live2D