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

北京网站手机站建设公司云砺信息科技做网站

北京网站手机站建设公司,云砺信息科技做网站,宁德市古田县,html加入wordpressnet中MQTT的应用场景 c#常用来开发上位机程序,或者其他一些跟设备打交道比较多的系统,所以会经常作为拥有数据的终端,可以用来采集上传数据,而MQTT也是物联网常用的协议,所以下面介绍在C#开发中使用MQTT。 安装MQTTn…

net中MQTT的应用场景

c#常用来开发上位机程序,或者其他一些跟设备打交道比较多的系统,所以会经常作为拥有数据的终端,可以用来采集上传数据,而MQTT也是物联网常用的协议,所以下面介绍在C#开发中使用MQTT。

安装MQTTnet

在c#开发中使用MQTTnet包,在nuget管理器中搜索MQTTnet,然后安装

在这里插入图片描述

MQTT使用

添加命名空间

using MQTTnet;
using MQTTnet.Client;
using MQTTnet.Protocol;

创建一个MqttClient

 Console.WriteLine("Hello, World!");MqttClientOptionsBuilder optionsBuilder = new MqttClientOptionsBuilder().WithTcpServer("127.0.0.1", 1883).WithClientId("testClient1");var clientOptions = optionsBuilder.Build();IMqttClient _mqttClient = new MqttFactory().CreateMqttClient();

创建连接

  _mqttClient.ConnectAsync(clientOptions);

发送消息

先创建一个mqtt消息,填入主题(Topic),消息内容(PayloadSegment),然后使用PublishAsync方法发送

 var message = new MqttApplicationMessage{Topic = "testtopic/topic1",//主题PayloadSegment = Encoding.Default.GetBytes("test Message"),QualityOfServiceLevel = MqttQualityOfServiceLevel.AtLeastOnce,Retain = true // 服务端是否保留消息。true为保留,如果有新的订阅者连接,就会立马收到该消息。};_mqttClient.PublishAsync(message);

在mqttx中订阅对应主题,就能收到

在这里插入图片描述

订阅主题中#,表示通配符,说明该分类下testtpoic/的主题都会订阅。

订阅一个主题

    _mqttClient.SubscribeAsync("topic1", MqttQualityOfServiceLevel.AtLeastOnce); 

添加各种事件订阅

IMqttClient有下面这些事件可以使用
在这里插入图片描述

常用事件的添加:

// 客户端连接成功事件
_mqttClient.ConnectedAsync += MqttClient_ConnectedAsync;
// 客户端连接关闭事件
_mqttClient.DisconnectedAsync += MqttClient_DisconnectedAsync;
// 收到消息事件
_mqttClient.ApplicationMessageReceivedAsync +=MqttClient_ApplicationMessageReceivedAsync;private static Task MqttClient_ConnectedAsync(MqttClientConnectedEventArgs arg)
{Console.WriteLine("客户端已断开与服务端的连接……");return Task.CompletedTask;
}private static Task MqttClient_DisconnectedAsync(MqttClientDisconnectedEventArgs arg)
{Console.WriteLine($"客户端已断开与服务端的连接……");return Task.CompletedTask;
}private static Task MqttClient_ApplicationMessageReceivedAsync(MqttApplicationMessageReceivedEventArgs arg
)
{Console.WriteLine($"ApplicationMessageReceivedAsync:客户端ID=【{arg.ClientId}】接收到消息。 Topic主题=【{arg.ApplicationMessage.Topic}】 消息=【{Encoding.UTF8.GetString(arg.ApplicationMessage.PayloadSegment)}】 qos等级=【{arg.ApplicationMessage.QualityOfServiceLevel}】");return Task.CompletedTask;
}

关注可获取更多资料,源码和使用和说明文档↓↓

http://www.yayakq.cn/news/218135/

相关文章:

  • 站长工具查询系统wordpress阿里云云存储
  • 做网站后期维护杭州好的vi设计公司
  • 能进入各种网站的浏览器自己做游戏app的网站
  • 网站关闭申请书京东商城网站建设目的
  • 网站2019建设目标最安全的网站语言
  • 郑州网站优化托管熟悉网站空间 域名等相关知识
  • 网站快速收录工具上海网站建设兴策
  • wordpress能做企业站吗网页界面设计评分标准
  • 淘宝网站建设的缺点学校网站栏目建设
  • 怎样提高网站访问速度关键词库在网站上怎么体现
  • 如何做自己的博客网站世界优秀摄影作品网站
  • 公司申请网站备案wordpress怎么开发主题
  • 东莞莞城网站建设公司网站建设解析
  • 亳州做网站的公司敬请期待翻译
  • 门户网站建设招标文件文件怎么添加到wordpress
  • 哪家小吃培训网站做的最好小游戏代理平台
  • 东莞建外贸网站网站建设忽悠
  • 教育培训机构招生网站建设微信小程序商城定制开发
  • 环球资源网商务网站建设目的dw新建站点
  • 公司微网站建设华为云网站建设怎么设置选择项
  • 友汇网站建设wordpress网站前端
  • 建设网站有哪些好处和坏处网络信息发布平台
  • 怎么形容网站做的好泰州泛亚信息做网站怎么样
  • 广州建网站哪家好用路由器建设网站
  • 网站的运营维护做环卫设备都有哪些网站
  • 北京网站制作沈阳网站seo策划方案设计
  • 网站源码在哪里网站风格细节
  • 网站专题制作软件it外包价格
  • 公司制作网站需要网站排名突然掉没了
  • 建设银行网站的支付流程淘宝关键词优化软件