当前位置: 首页 > news >正文

MQTT学习

什么是MQTT

MQTT(Message Queuing Telemetry Transport)是一种基于发布/订阅模型的轻量级消息传输协议,由IBM于1999年开发,2014年成为OASIS国际标准。专为低带宽、高延迟或不稳定网络环境设计(如物联网设备)

主要角色

发布者(Publisher) :发送数据的设备(如传感器)。
订阅者(Subscriber) :接收数据的设备或服务(如云端服务器)。
代理(Broker) :消息中转服务器,负责过滤和路由消息
publisher发送消息给broker,broker根据订阅情况转发给对应的subscriber。

传输层协议

TCP 或者SSL

核心feature

持久会话(Persistent Session):代理存储离线设备的订阅信息与未送达消息,重连后自动恢复。
遗嘱消息(Last Will):设备异常断开时,代理自动发布预设消息(如设备故障警报)。
心跳保活(Keepalive):定期发送心跳包检测连接状态,超时则触发重连

优点

在这里插入图片描述

缺点

在这里插入图片描述

C++ 环境的开发

https://github.com/eclipse-paho/paho.mqtt.c, 第三方库。 照着下面给的例子改就行在这里插入图片描述

http://www.dtcms.com/a/315739.html

相关文章:

  • Starrocks 关于 trace 命令的说明
  • C# --- 本地缓存失效形成缓存击穿触发限流
  • 【面向对象】面向对象七大原则
  • 【乐企板式文件生成工程】关于乐企板式文件(PDF/OFD/XML)生成工程介绍
  • [2401MT-B] 面积比较
  • 翻译的本质:人工翻译vs机器翻译的核心差异与互补性
  • Starrocks中的 Query Profile以及explain analyze及trace命令中的区别
  • MySQL 中 VARCHAR 和 TEXT 的区别
  • 智慧酒店:科技赋能下的未来住宿新体验
  • Spring-rabbit使用实战六
  • 国产三防平板电脑是什么?三防平板推荐
  • Spark内核调度
  • RTC实时时钟RX8900SA国产替代FRTC8900S
  • 使用maven-shade-plugin解决es跨版本冲突
  • 微信小程序功能实现:页面导航与跳转
  • jenkins插件Active Choices的使用通过参数动态控制多选参数的选项
  • LHA6958D是一款代替AD7606的芯片
  • 【前端】网站favicon图标制作
  • MyBatisPlus查询数据库中所有表的数据(AI)
  • 使标签垂直水平居中的多种方法
  • 自动驾驶控制算法——MPC控制算法
  • 数据结构 实现单链表
  • Vue3核心语法进阶(Props)
  • C语言:选择排序算法深度剖析!
  • nodejs 编码初体验
  • JAVA无人共享球杆柜系统球杆柜租赁系统源码支持微信小程序
  • 嵌入式硬件中运放的基本控制原理
  • 基于k8s环境下的pulsar常用命令(上)
  • 达梦分布式集群DPC_分布式任务执行拆分流程_yxy
  • 安全测绘之敏感网络资产排查指南