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, 第三方库。 照着下面给的例子改就行