当前位置: 首页 > backend >正文

.net 使用MQTT订阅消息

在nuGet下载M2Mqtt   V4.3.0版本。(支持.net framework)

订阅主题

public void LoadMQQCData()
{string enpoint = "xxx.xxx.x.x";//ip地址int port = 1883;//端口string user = "usrname";//用户名string pwd = "pwd";//密码string clientid = Guid.NewGuid().ToString(); // 获取一个独一无二的idstring[] topic = new string[] { "topic" };//订阅主题byte[] qosLevels = new byte[] { MqttMsgBase.QOS_LEVEL_AT_LEAST_ONCE }; // qos=1MqttClient client = new MqttClient(enpoint, port, false, null, null, MqttSslProtocols.None);//消息接受client.MqttMsgPublishReceived += new MqttClient.MqttMsgPublishEventHandler(messageReceive);//连接Brokerclient.Connect(clientid, user, pwd);client.Subscribe(topic, qosLevels);}

接收数据

static void messageReceive(object sender, MqttMsgPublishEventArgs e)
{Thread.Sleep(1000 * 30);//等待半分钟 等待质控数据入库//接收到的数据byte[] Bytes = e.Message;//获取站点编号try{string sstation = e.Topic.Substring(e.Topic.IndexOf("qc") - 10, 9);if (!string.IsNullOrEmpty(sstation) && sstation.Length == 9){ //代表该(SS4201089)站点做了质控do some things;}}catch (Exception ex){MessageServcie.Instance.OnShowMessageDelegate.Invoke("出错:" + ex.Message.ToString(), false);}}

http://www.xdnf.cn/news/12384.html

相关文章:

  • 使用React+ant Table 实现 表格无限循环滚动播放
  • 【Oracle APEX开发小技巧12】
  • 使用VuePress2.X构建个人知识博客,并且用个人域名部署到GitHub Pages中
  • 基于uniapp+WebSocket实现聊天对话、消息监听、消息推送、聊天室等功能,多端兼容
  • CRMEB 框架中 PHP 上传扩展开发:涵盖本地上传及阿里云 OSS、腾讯云 COS、七牛云
  • stylus - 新生代CSS预处理框架
  • vue-video-player视频保活成功确无法推送问题
  • 爆炸仿真的学习日志
  • 在MyBatis中设计SQL返回布尔值(Boolean)有几种常见方法
  • Web攻防-SQL注入二次攻击堆叠执行SQLMAPTamper编写指纹修改分析调试
  • 《基于Apache Flink的流处理》笔记
  • Python Einops库:深度学习中的张量操作革命
  • 体制内 AI写作:推荐材料星 AI文章修改润色
  • MySQL:忘记root密码
  • GPU 图形计算综述 (三):可编程管线 (Programmable Pipeline)
  • 【动手学MCP从0到1】2.3 MCP中的Resource和Resource Template服务构建步骤详解
  • 建筑设备一体化监控系统:提升能效与运维效率
  • MySQL 的 redo log 和 binlog 区别?
  • 为 ESP32 解锁跨平台存储识别能力:支持 FAT、NTFS、EXT4、APFS 的轻量级 BlockFS 组件
  • Java中的阻塞队列
  • [arthas]arthas安装使用
  • NVM!(可以快速替换你的node版本)
  • Mysql主从复制原理分析
  • 高性能分布式消息队列系统(三)
  • CVE-2020-17518源码分析与漏洞复现(Flink 路径遍历)
  • AtCoder 第408​场初级竞赛 A~E题解
  • 强化学习入门:Gym实现CartPole随机智能体
  • VBA信息获取与处理专题五第一节:利用CDO发送简单邮件
  • AirSim/Cosys-AirSim 游戏开发(二)使用自定义场景
  • Python训练营---Day45