当前位置:   article > 正文

MQTT——快速搭建客户端和服务器_使用mqtt建立用户后台

使用mqtt建立用户后台

MQTT是物联网中应用及其广泛的应用协议,mqtt由于其带宽低和基于发布订阅的模式的优点,被各物联网平台推广使用。MQTT首先有三个角色:订阅者、发布者、中间代理。订阅者通过订阅指定消息类型可收到发布者发布的制定类型消息。服务器作为代理做消息的转发。这种基于发布订阅的模式与物联网中边缘终端1对N的特征完全匹配。不得不说MQTT协议天生为物联网而生。
在这里插入图片描述
本文将分两部分总结下搭建基于MQTT协议的服务端和客户端。

一、server

MQTT作为一种协议被各厂家实现了各种版本,mqtt的官网https://mqtt.org也提供了各个源码的链接。
这里使用emqx作为服务器,emqx为用户提供了后台管理界面,程序运行后可直接通过web查看或更改服务。emqx官网有介绍各种平台的不同安装方式,这里建议使用官网提供的一键安装脚本

curl https://repos.emqx.io/install_emqx.sh | bash
  • 1

安装完成后可直接通过emqx start运行服务,服务打开后可通过web访问后台的方式查看各种信息。默认端口是18083。如果是云服务器记得开放该端口访问权限。在这里插入图片描述
默认是英文显示,可以自行在设置中更改语言和显示主题。同时由于emqx还提供websocket方式订阅发布消息。后台Dashboard也提供了通过websocket方式建立连接、发布、订阅的功能,方便用户可以直接测试功能效果。

二、client

参考mqtt官网提供的几个版本的客户端源码,最终使用了libemqtt版本。直接从github下载代码之后make即可生成发布和订阅两个demo,这里以订阅为例运行sub后,demo死循环打印接收到的订阅的消息
在这里插入图片描述
通过web发送客户端订阅的主题消息,消息内容为hello, World。这里需要理解下,虽然是通过服务端的后台发送的消息,但web通过websocket建立连接后,此时的web也是客户端之一。
在这里插入图片描述
客户端接收到消息,并打印出来
在这里插入图片描述
libemqtt的demo中只是用到了基本的功能,库中的多个接口还需要日后有时间慢慢研究下

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Monodyee/article/detail/188634
推荐阅读
相关标签
  

闽ICP备14008679号