mqtt学习笔记
mqtt协议实现方式:
mqtt是一个基于客户端-服务器的消息发布/订阅(Pub/Sub)传输协议。
mqtt协议中有三种身份:发布者(publish)、代理(broker)(服务器)、订阅者(subscribe)。其中,消息的发布者和订阅者都是客户端,消息代理是服务端,消息发布者可以同时是订阅者。
mqtt传输的消息分为:主题(topic)和负载(payload)两部分,topic,消息的类型,订阅者订阅后,就会收到该主题的消息内容(payload);payload,消息内容,是指订阅者具体要使用的内容
网络传输与应用消息
它将建立客户端到服务器的连接,提供两者之间的一个有序的、无损的、基于字节流的双向传输。当应用数据通过mqtt网络发送时,mqtt会把与之相关的服务质量(qos)和主题名(topic)相关联。
mqtt客户端
一个使用mqtt协议的应用程序或者设备,它总是建立到服务器的网络连接。客户端可以:
1、发布其它客户端可能会订阅的信息
2、订阅其它客户端发布的消息
3、退订或删除应用程序的消息
4、断开与服务器连接
mqtt服务器
mqtt服务器称为消息代理,可以是一个应用程序或一台设备。它是位于消息发布者和订阅者之间,它可以:
1、接收来自客户的网络连接
2、接收客户发布的应用信息
3、处理来自客户端的订阅和退订请求
4、向订阅的客户转发应用程序消息
mqtt协议中的订阅、主题、会话
1、订阅
订阅包含主题筛选器(topic filter)和最大服务质量(qos)。订阅会与一个会话(session)关联。一个会话可以包含多个订阅。每一个会话中的每个订阅都有一个不同的主题筛选器。
2、会话
每个客户端与服务器建立连接后就是一个会话,客户端和服务器之间有状态交互。会话存在于一个网络之间,也可能在客户端和服务器之间跨越多个连续的网络连接。
3、主题名
连接到一个应用程序消息的标签,该标签与服务器的订阅相匹配。服务器会将消息发送给订阅所匹配标签的每个客户端。
4、主题删选器
5、负载
参考文章:
文章
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?