架构师_程序员_码农网

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 31068|回复: 5

[控制台程序] .net/c# 使用 MQTTnet 实现 MQTT 通信教程源码

[复制链接]
发表于 2019-2-15 13:22:03 | 显示全部楼层 |阅读模式
1 什么是 MQTT ?

MQTT(Message Queuing Telemetry Transport,消息队列遥测传输)是 IBM 开发的一个即时通讯协议,有可能成为物联网的重要组成部分。MQTT 是基于二进制消息的发布/订阅编程模式的消息协议,如今已经成为 OASIS 规范,由于规范很简单,非常适合需要低功耗和网络带宽有限的 IoT 场景。

2 MQTTnet

MQTTnet 是一个基于 MQTT 通信的高性能 .NET 开源库,它同时支持 MQTT 服务器端和客户端。而且作者也保持更新,目前支持新版的.NET core,这也是选择 MQTTnet 的原因。 MQTTnet 在 Github 并不是下载最多的 .NET 的 MQTT 开源库,其他的还 MqttDotNet、nMQTT、M2MQTT 等

本文使用的mqtt服务端是emqx,在使用MQTTnet和emqx通信的时候,需要了解以下知识:

初识emqx(emqttd)消息队列
https://www.itsvse.com/thread-6965-1-1.html
(出处: 架构师_程序员)
Mqtt之服务质量等级Qos
https://www.itsvse.com/thread-6960-1-1.html
(出处: 架构师_程序员)
几个EMQTT的知识点
https://www.itsvse.com/thread-6966-1-1.html
(出处: 架构师_程序员)

MQTTnet 文档地址:https://github.com/chkr1011/MQTTnet/wiki/Client
emqx 文档地址:http://www.emqtt.com/docs/v3/index.html

首先,用vs新建一个.net core的控制台项目,使用nuget命令安装MQTTnet,如下:

先上效果图:

QQ截图20190215101440.jpg
(MQTTnet断线重连机制)

QQ截图20190215112101.jpg
(MQTTnet收到的离线消息)

QQ截图20190215112215.jpg
(emqx 统计)

QQ截图20190215112246.jpg
(emqx 会话统计)

QQ截图20190215112437.jpg
(emqx 缓存消息统计)
保留消息定义

如果PUBLISH消息的RETAIN标记位被设置为1,则称该消息为“保留消息”;

Broker对保留消息的处理

Broker会存储每个Topic的最后一条保留消息及其Qos,当订阅该Topic的客户端上线后,Broker需要将该消息投递给它。

MQTT保留消息的删除

方式1:发送空消息体的保留消息;
方式2:发送最新的保留消息覆盖之前的;

最后,附上源码:

(完)






上一篇:jQuery学习笔记
下一篇:看书 学习 健身 赚钱 用心爱一个人
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
 楼主| 发表于 2019-2-15 13:27:47 | 显示全部楼层
如果有两个相同clientId的时候,后者会把前者挤掉线,由于,我程序有断线重连机制,所以,会相互挤掉线!

QQ截图20190215132608.jpg
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
发表于 2019-2-15 13:46:29 | 显示全部楼层
加油加油!
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
发表于 2021-10-24 22:30:38 | 显示全部楼层
看看
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
发表于 2022-3-25 14:05:15 | 显示全部楼层
正好需要  看看
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
发表于 2022-7-14 13:55:19 | 显示全部楼层
谢谢分享!学习学习
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

免责声明:
码农网所发布的一切软件、编程资料或者文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。

Mail To:help@itsvse.com

QQ|手机版|小黑屋|架构师 ( 鲁ICP备14021824号-2 )|网站地图

GMT+8, 2024-3-29 06:51

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表