MQTT协议概述及其应用

MQTT是一种轻量级的实时通讯协议,常用于物联网,采用发布订阅模式。本文介绍了MQTT的QoS级别,以及如何配置mosquitto服务器作为MQTT代理。同时,展示了使用Paho C# API创建发布者和订阅者的示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

MQTT

概述

MQTT协议是一种基于TCP/IP协议的轻量级实时通讯协议,采用发布订阅模式,与Http相比能够主动推送信息给客户端,与WebSocket相比也更加轻量级,往往用于物联网。

MQTT在使用时主要有三部分 发布者,订阅者,代理服务器。订阅者连接代理服务器,订阅相关主题。发布者向代理服务器发送对应主题的内容,代理服务器会将其广播给所有订阅了该主题的发布者。

目前常用的开源MQTT代理服务器有Mosquitto、EMQTTD。阿里云,百度也有提供商用的IOT平台。
常用的MQTT客户端(发布者订阅组件)有Paho。

QoS

QoS是MQTT协议的收发数据的一种可靠性约定一共有三种

  1. QOS_LEVEL_EXACTLY_ONCE 订阅者能够准确接受到一数据
  2. QOS_LEVEL_AT_MOST_ONCE 订阅者会最多接受到一次数据
  3. QOS_LEVEL_AT_LEAST_ONCE 订阅者最少会接受到一次数据

应用场景

实习遇到一个需求,需要将机器人传感器上的数据实时推送给多个移动监控设备。查阅资料采用MQTT协议的物联网服务器往往可以承担这个功能。

配置mosquitto服务器

首先需要一个云服务器,我这里用的是阿里云轻量级应用服务器,装的Centos7。在服务器安装Mosquitto,并且启动Mosquitto服务的步骤如下:

下载mosquitto软件包

yum install mosquitto

通过如下命令查看是否已经安装完成

yum list installed | grep mosquitto

安装完成后通过如下命令启动mosquitto主程序

mosquitto -v 

启动后显示如下
在这里插入图片描述

发布者

这里使用Paho提供的C# api来给出一个Demo

using System;
using uPLibrary.Networking.M2Mqtt;
using System.Net;
using System.Net.Sockets;
using System.Security.Cryptography.X509Certificates;
using System.Buffers;
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值