最新要闻
- 焦点速读:击败《冰雪奇缘2》创新世界纪录!《超级马力欧兄弟》5天狂揽26亿票房
- 每日热文:自动驾驶是忽悠?蔚来李斌:目标是解放时间 减少事故
- 当前快讯:269元 米家快煮电饭煲4L预售:25分钟即熟
- 手工扯面+秘制辣油 西安饭庄油泼biangbiang面大促:6.66元/盒
- 十五五规划时期,未来十大新兴产业有哪些
- 世界视点!中兴Axon Pad来了:全球唯一5G双系统平板
- 医生误判将女孩恒牙当乳牙拔掉 科普:恒牙和乳牙区别
- 当前关注:日系车在中国真不香了!丰田、本田、日产、马自达全线暴跌
- 快资讯:iOS 16.4体验大翻车!苹果关闭降级通道:只许升新版
- 天天即时看!80/90后回忆杀!经典日漫《铁甲小宝》高清修复了:画质提升明显
- 世界观点:4月10日11时浙江嘉兴疫情最新消息 4月10日11时浙江嘉兴今日确诊人数
- 每日快播:米家空调巨省电首销:2匹大风量 2799元
- 环球热点!小米MIJIA智能音频眼镜发布!独特耳机眼镜二合一设计
- 世界热推荐:新手爸爸拿狗狗练拍嗝 网友:狗狗从来没享受过这么高的待遇
- 环球观察:周杰伦就不正当竞争起诉网易!4月17日开庭
- 日本非现金支付比例仅占36% 远落后于中国农村
手机
iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
- 警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- 男子被关545天申国赔:获赔18万多 驳回精神抚慰金
- 3天内26名本土感染者,辽宁确诊人数已超安徽
- 广西柳州一男子因纠纷杀害三人后自首
- 洱海坠机4名机组人员被批准为烈士 数千干部群众悼念
家电
新资讯:在.NET7中使用MQTTnet简单实现MQTT通信
一、MQTT简介
MQTT(Message Queuing Telemetry Transport)是一种轻量级的消息传输协议,主要用于物联网设备间的通信。MQTT协议采用客户端/服务器架构,支持发布/订阅模式和点对点模式,具有高效、可靠、灵活等优点。
MQTT协议主要由三个要素构成:发布者(publisher)、代理服务器(broker)和订阅者(subscriber)。发布者将消息发布到代理服务器上,订阅者从代理服务器中订阅消息,代理服务器将消息发送给订阅者。MQTT协议中还有一个重要的概念是主题(topic),主题用于定义消息的类型和内容,发布者可以将消息发布到一个或多个主题上,订阅者可以订阅一个或多个主题的消息。
(相关资料图)
MQTT协议可以在不可靠的网络上以低带宽传输大量消息,适用于各种类型的物联网应用,例如智能家居、车联网、工业物联网等。由于其轻量级、可靠性高、快速响应等优点,MQTT协议在物联网领域得到了广泛的应用。
二、MQTTnet简介
MQTTnet 是一个跨平台、高性能和开源的 MQTT 客户端库和服务端实现,是 .NET 平台上主流的 MQTT 实现之一。基于 MQTTnet,用户可以方便地在 .NET 平台上集成 MQTT 功能,实现 MQTT 协议的消息传输等功能。
源码地址:https://github.com/dotnet/MQTTnet
三、在.NET7中使用MQTTnet****
1、项目准备
首先创建两个.NET7控制台项目,用来简单实现发布消息订阅功能。一个项目为服务端,一个客户端。
然后安装MQTTnet 包,我们这里选择安装3.12版本,MQTTnet跨版本差距比较大。大家可以在Nuget包管理器里安装,也可以用命令安装。
dotnet add package MQTTnet --3.12
2、服务端代码编写
编写服务端代码,片段代码如下:
public static async Task MQTTP() { var factory = new MqttFactory(); var client = factory.CreateMqttClient(); var options = new MqttClientOptionsBuilder() .WithTcpServer("localhost", 1883) .Build();awaitclient.ConnectAsync(options); while (true) {Console.WriteLine("输入要发布的信息:"); var message = Console.ReadLine(); var mqttMessage = new MqttApplicationMessageBuilder() .WithTopic("testTopic") .WithPayload(Encoding.UTF8.GetBytes(message)) .WithExactlyOnceQoS() .Build(); await client.PublishAsync(mqttMessage); } }//调用 static async Task Main(string[] args) { #region 测试 await MQTTP();#endregion}
3、客户端代码编写
在客户端编写如下代码:
public static async Task MQTTClientTest() { var factory = new MqttFactory();varclient=factory.CreateMqttClient(); var options = new MqttClientOptionsBuilder() .WithTcpServer("localhost", 1883).Build(); client.UseApplicationMessageReceivedHandler(e => { Console.WriteLine($"接收的消息: {Encoding.UTF8.GetString(e.ApplicationMessage.Payload)}");});awaitclient.ConnectAsync(options); await client.SubscribeAsync(new MqttTopicFilterBuilder().WithTopic("testTopic").Build()); } //调用 static async Task Main(string[] args) { #region 测试 await MQTTClientTest(); #endregion }
这样就简单完成了发布订阅的功能,在这个示例中,发布者将消息发布到"testTopic"主题,订阅者订阅了相同的主题,一旦有新消息到达,就会打印出来。这只是一个简单的示例,实际的MQTT使用根据具体的项目场景来使用,比如异常处理等。
4、使用条件和方法:
首先在官网下载安装MQTT,官网为:https://mqtt.org/。
然后把项目的端口号改成mqtt配置的端口。同时运行两个项目就可以尝试了。大家可以拿上面代码尝试一下。
结语
本文介绍了MQTT在.NET7的简单使用,MQTT还有很多功能,大家可以根据MQTTnet 的API来使用其它功能。希望本文能对你带来收获,欢迎留言和吐槽。
来源公众号:DotNet开发跳槽
关键词:
-
新资讯:在.NET7中使用MQTTnet简单实现MQTT通信
一、MQTT简介MQTT(MessageQueuingTelemetryTransport)是一种轻量级的消息传输协议,主要用于物联网设...
来源: 天天短讯!Github使用教程
新资讯:在.NET7中使用MQTTnet简单实现MQTT通信
dnf成就格林赛罗斯战场怎么进?dnf成就格林赛罗斯战场任务怎么做?
焦点速读:击败《冰雪奇缘2》创新世界纪录!《超级马力欧兄弟》5天狂揽26亿票房
每日热文:自动驾驶是忽悠?蔚来李斌:目标是解放时间 减少事故
当前快讯:269元 米家快煮电饭煲4L预售:25分钟即熟
手工扯面+秘制辣油 西安饭庄油泼biangbiang面大促:6.66元/盒
用 Go 剑指 Offer 40. 最小的k个数 (Top K 问题)
快看点丨Web渗透测试流程
重点聚焦!SonarQube(CE)版集群环境下的高可用性实践
当前短讯!Java-泛型机制详解
最新快讯!Go常用库之GoRequests
十五五规划时期,未来十大新兴产业有哪些
世界视点!中兴Axon Pad来了:全球唯一5G双系统平板
医生误判将女孩恒牙当乳牙拔掉 科普:恒牙和乳牙区别
当前关注:日系车在中国真不香了!丰田、本田、日产、马自达全线暴跌
快资讯:iOS 16.4体验大翻车!苹果关闭降级通道:只许升新版
天天即时看!80/90后回忆杀!经典日漫《铁甲小宝》高清修复了:画质提升明显
【环球新要闻】全文索引:Apache Lucene(二)
Selenium做Web自动化踩过的坑
每日聚焦:通俗解释 JVM CAS 机制
世界观点:4月10日11时浙江嘉兴疫情最新消息 4月10日11时浙江嘉兴今日确诊人数
每日快播:米家空调巨省电首销:2匹大风量 2799元
环球热点!小米MIJIA智能音频眼镜发布!独特耳机眼镜二合一设计
世界热推荐:新手爸爸拿狗狗练拍嗝 网友:狗狗从来没享受过这么高的待遇
环球观察:周杰伦就不正当竞争起诉网易!4月17日开庭
日本非现金支付比例仅占36% 远落后于中国农村
重磅来了!
介绍一下sourcemap
今日关注:全网最详细中英文ChatGPT-GPT-4示例文档-文章大纲智能生成器从0到1快速入门——官网推荐的48种最佳应用场景(附python/node.js
一季报预览:哪些公司业绩有望超预期
全球快看点丨迪拜拍出世界最贵车牌号:价值超1亿元!
各地开通旅游专列:去淄博吃烧烤都有专列了
环球今亮点!米粉催卢伟冰发小米13 Ultra:我想冲顶配版
丰田在日召回超20万辆汽车:发动机有火灾隐患 已烧了两辆
世界观焦点:整合Microsoft 365服务:Win11文件管理器将迎来大更新
如何部署VSCODE SERVER
Silverlight教程_编程入门自学教程_菜鸟教程-免费教程分享
环球今日讯!围挡后面丨长沙河西首个三甲妇幼医院住院楼封顶!预计2025年建成投用
【天天新要闻】还去吗?泰国清迈发布“居家办公令” PM2.5超标准5倍:游客因空气污染锐减
“数学之王”丘成桐AI人工智能投入不能急功近利:中国很多技术卡脖子 基础科学没做好
元宇宙崩盘 林俊杰疑回应炒虚拟地产亏91%:听说很多人想帮我理财
北方大范围沙尘又来了 今年的沙尘天气为啥显得格外多?
天天观速讯丨通过 lua 进行 nginx redis 访问控制
焦点热议:多项数据向好 交通物流加速“跑起来”
环球要闻:背景太假哥疆域阿力木捡的狗“狼里狼气” 网友出谋划策辨认
【环球新视野】极氪X官宣4月12日上市:全能SUV 零百加速3秒级
焦点热文:我国构建世界首个番茄超泛基因组:能让番茄更好吃、产量多6成
全球播报:男女配合当街开井盖用勺挖地沟油被网友拍下引围观:行为太恶劣 应严惩
天天微资讯!林俊杰“炒房”浮亏91%?元宇宙泡沫的冰山一角
【时快讯】学系统集成项目管理工程师(中项)系列05_配置管理
天天动态:一不注意就被坑,家电“潜规则”早知道早好
今日热文:Spring5课堂笔记
Java8 Stream流式编程
【新要闻】128核心Arm处理器能跑Windows!还能配NVIDIA显卡
时讯:新疆和硕:田间地头 话两会
maptalks点线面图形样式设置经验总结
【天天速看料】马龙惊魂3-2拒绝一轮游,与小林再迎老少对决!国乒首日狂走钢丝
在米其林餐厅找罪受?人均8千元餐厅疑发生食物中毒
世界热点!张艺谋宣布将拍网剧《英雄联盟》!第一次 想拍个不一样的
环球新动态:Vulnhub Mercy靶场 Walkthrough
FSR、DLSS谁更好?26款游戏PK:AMD居然0胜!
环球速看:AI 史话
每日讯息!Weex原理及架构剖析
旅游专列来啦具体详细内容是什么
中国新能源汽车在欧洲火了:每10辆就有1辆来自中国
【时快讯】WebKit三件套(3):WebKit之Port篇
每日速看!HBase在进行模型设计时重点在什么地方?一张表中定义多少个Column Family最合适?为什么?
环球资讯:第136篇:Three.js基础入门动画API:setInterval 与 requestAnimationFrame的区别
程序员午休时健身猝死 被认定工伤 法院:属于在岗状态
比亚迪车主用木头手工还原汉EV:前后双电机 真能跑
每日速讯:WebKit三件套(1):WebKit之WebCore篇
焦点关注:C盘爆满的解决方法,不用删除文件,使用分区助手无损增加内存
简讯:招标活动法律保障工作实务指南 2016年版
锐龙7 7800X3D配A620主板 性能损失多少?实在没想到
天天微头条丨成都升温 千足虫满街爬:专家科普小心毒臭液
全球最大盗版电子书网站Z-Library被封后复活:路子更野了!要共享纸质书
速读:Steam排名第一!GTX 1650亮机卡火爆断货:RTX 2070紧急变身救场
【天天速看料】Vue——patch.ts【十四】
浏览器史话中chrome霸主地位的奠定与国产浏览器的割据混战
Vue开发规范
天天速递!只剩Windows版了!B站正式宣布UWP版停止维护
环球时讯:洛阳上演汉服秀 网友偶遇唐僧师徒四人坐地铁去“取经”
男子体内惊现小树苗!都长到5厘米高了
环球今亮点!或为AR眼镜新品!小米神秘“新礼物”明早10点正式亮相
今热点:解放军环台岛战备警巡和演习,专家:或成惩戒“台独”新模式
天天通讯!Linux常用操作命令总结
iOS Modern Collection View
线段树好题! P2824 [HEOI2016/TJOI2016]排序 题解
每日动态!小米寄修服务“史诗级”提升:新增进度可视化功能
天天资讯:第7章_InnoDB数据存储结构
天天快报!css过去及未来展望—分析css演进及排版布局的考量
每日关注!微信小程序 开发,uni-app 开发简介
今日报丨朗新科技:拟提前赎回“朗新转债”
今日观点!男子网购耐克鞋却挂着李宁的吊牌 网友:联名款?
数组的算法
超同年漫威大片近3倍!新海诚《铃芽之旅》国内票房达7亿
VUE-Antd开发,validate规则校验第一次为空,后面无论怎么输入都显示不可为空
环球新消息丨上海国创科技产业创新发展中心理事长黄岩:人工智能会像手机一样进入我们的日常生活
每日聚焦:青春回来了!电影《灌篮高手》流川枫角色预告出炉:4月20日国内上映