mqtt学习
MQTT:是一种基于发布/订阅的协议
为什么要用MQTT:
1、开销小,低带宽的时候可以进行即时通讯
2、可以用极少的代码有限的带宽进行远程数据服务
MQTT通信参与者
服务器(Broker)、客户端(发布者、订阅者)、消息(主题Topic、消息体(Payload))
.net 通过nuget 下载MQTTNET 即可
Qos 服务质量
AtMostOnce 0 最多一次的传输 发布完之后就删除 不管了 不管接收者是否收到
AtLastOnce 1 至少一次的传输 发布消息的时候先存一份,当订阅者收到的时候得要ACK回复下,收到回复才会删除。如果发布者一定时间拿不到对应的Ack,将消息打个标记DUP(报文)=1 再发布一遍。实际业务需要自行处理
ExctlyOnce 2 有且仅有一次的传输 保证有一次传输正常
订阅者接收到消息-》保存 Packget Identifier