首页 > 其他分享 >MQTT协议特点及数据包结构详解(值得珍藏)

MQTT协议特点及数据包结构详解(值得珍藏)

时间:2024-04-10 17:00:31浏览次数:23  
标签:协议 订阅 IP 发布 TCP MQTT 详解 数据包

点击下载《MQTT协议特点及数据包结构详解(值得珍藏)》

1. 前言

MQTT(Message Queuing Telemetry Transport,消息队列遥测传输协议),是一种基于发布/订阅(publish/subscribe)模式的“轻量级”通讯协议,该协议构建于TCP/IP协议上,由IBM在1999年发布。

MQTT最大优点在于,用极少的代码和有限的带宽,为连接远程设备提供实时可靠的消息服务

作为一种低开销、低带宽占用的即时通讯协议,使其在物联网、小型设备、移动应用等方面有较广泛的应用。

2. MQTT协议特点

MQTT是一个基于客户端-服务器的消息发布/订阅传输协议。

MQTT协议是轻量、简单、开放和易于实现的,这些特点使它适用范围非常广泛。在很多情况下,包括受限的环境中,如:机器与机器(M2M)通信和物联网(IoT)。

其在,通过卫星链路通信传感器、偶尔拨号的医疗设备、智能家居、及一些小型化设备中已广泛使用。

MQTT协议当前版本为,2014年发布的MQTT v3.1.1。除标准版外,还有一个简化版MQTT-SN,该协议主要针对嵌入式设备,这些设备一般工作于TCP/IP网络,如:ZigBee。

MQTT 与 HTTP 一样,MQTT 运行在传输控制协议/互联网协议 (TCP/IP) 堆栈之上。

在这里插入图片描述

2.1 发布和订阅

MQTT使用的发布/订阅消息模式,它提供了一对多的消息分发机制,从而实现与应用程序的解耦。

这是一种消息传递模式,消息不是直接从发送器发送到接收器(即点对点),而是由MQTT server(或称为 MQTT Broker)分发的。

在这里插入图片描述

MQTT 服务器是发布-订阅架构的核心

它可以非常简单地在Raspberry Pi或NA

标签:协议,订阅,IP,发布,TCP,MQTT,详解,数据包
From: https://blog.csdn.net/a342874650/article/details/137595313

相关文章

  • python收到MQTT消息后再发http请求
    python收MQTT消息和 发http请求的代码在前面的文章都有介绍,这里直接上完整的功能代码mqtt2http.py#python3.6importloggingimportrandomimporttimeimportrequests#frompaho.mqttimportclientasmqtt_clientimportpaho.mqtt.clientasmqttBROKER='......
  • Oracle分析函数- count()/sum() over(partition by 分组 order by 排序) 详解
    优点:代码简单明了,并且执行效率高,(不影响总的记录数)如果不用这种函数去写,按照平时我们的思路首先想到的可能是子查询,那么将至少会走4次以上的全表扫描:(1)每个订单中产品数量大于3的产品至少1个(003,004)(2)每个订单中折扣标志为'1'的产品至少有2个(002,004)(3)每个订单......
  • python收到MQTT消息后写入mySQL
    python收MQTT消息和写mySQL的代码在前面的文章都有介绍,这里直接上完整的功能代码mqtt2mysql.py#python3.6importloggingimportrandomimporttimeimportmysql.connector#frompaho.mqttimportclientasmqtt_clientimportpaho.mqtt.clientasmqttBROKER......
  • RTCM数据包编码
     uint8_trtcmbytes[1200]={0};uint32_trtcm_size=0;staticuint32_tSetRTCM3Data(uint64_tdata,uint8_tbits,uint8_t*rtcmbytes,uint8_tend_flag){staticuint32_tnbyte=0;uint32_ttemp_nbyte=0;staticuint64_tbyte=0;stat......
  • Unity3D代码混淆方案详解
    背景Unity引擎使用Mono运行时,而C#语言易受反编译影响,存在代码泄露风险。本文通过《QQ乐团》项目实践,提出一种适用于Unity引擎的代码混淆方案,以保护代码逻辑。引言在Unity引擎下,为了防止代码被轻易反编译,需要采取相应的保护措施。本文将分享一种基于实践经验的可行方案,希......
  • 克魔助手工具详解、数据包抓取分析、使用教程
     目录摘要引言克魔助手界面克魔助手查看数据捕获列表数据包解析窗口数据包数据窗口克魔助手过滤器表达式的规则抓包过滤器实例总结参考资料摘要本文介绍了克魔助手工具的界面和功能,包括数据包的捕获和分析,以及抓包过滤器的使用方法。同时提供了一些代码案例演示......
  • Unity3D代码混淆方案详解
    背景Unity引擎使用Mono运行时,而C#语言易受反编译影响,存在代码泄露风险。本文通过《QQ乐团》项目实践,提出一种适用于Unity引擎的代码混淆方案,以保护代码逻辑。引言在Unity引擎下,为了防止代码被轻易反编译,需要采取相应的保护措施。本文将分享一种基于实践经验的可行方案,希......
  • 克魔助手工具详解、数据包抓取分析、使用教程
     目录摘要引言克魔助手界面克魔助手查看数据捕获列表数据包解析窗口数据包数据窗口克魔助手过滤器表达式的规则抓包过滤器实例总结参考资料摘要本文介绍了克魔助手工具的界面和功能,包括数据包的捕获和分析,以及抓包过滤器的使用方法。同时提供了一些代码案例演示......
  • 相关攻击向量详解:揭示网络安全威胁的本质
    相关攻击向量详解:揭示网络安全威胁的本质引言攻击向量,即攻击者利用系统、应用或网络中存在的漏洞进行入侵的路径和手段。理解并掌握攻击向量,对于防御者来说至关重要,因为它可以帮助我们提前预测、识别并阻止潜在的安全威胁。本文将深入阐述几种常见的攻击向量,包括远程代码......
  • 【机器学习】Logistic与Softmax回归详解
    在深入探讨机器学习的核心概念之前,我们首先需要理解机器学习在当今世界的作用。机器学习,作为人工智能的一个重要分支,已经渗透到我们生活的方方面面,从智能推荐系统到自动驾驶汽车,再到医学影像的分析。它能够从大量数据中学习模式和规律,然后使用这些学习到的信息来做出预测或决......