MQTT消息有三种质量等级
“至多一次”(QoS==0),消息发布完全依赖底层 TCP/IP 网络。会发生消息丢失或重复。这一级别可用于如下情况,环境传感器数据,丢失一次读记录无所谓,因为不久后还会有第二次发送。
“至少一次”(QoS==1),确保消息到达,但消息重复可能会发生。
“只有一次”(QoS==2),确保消息到达一次。这一级别可用于如下情况,在计费系统中,消息重复或丢失会导致不正确的结果。小型传输,开销很小(固定长度的头部是 2 字节),协议交换最小化,以降低网络流量。
具体使用还要看消息中间件是否支持3种质量等级
使用 MqttLib 订阅 mqtt消息
新建C#工程,并引用MqttLib
实例化 mqtt client
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using MqttLib;
using System.Diagnostics;
using System.IO;
namespace mqttlib_mqtt
{
class Program
{
IMqtt _client;
static void Main(string[] args)
{
string connectionString =