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
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本