MQTTnet 3.1.2使用Demo

MQTT消息使用场景广泛,在本地做了个小demo。服务器使用的MQTTnet 3.1.2版本,最新4.1.0版本服务器权限认证网上没找到,所以就使用3.1.2版本了。

一、服务端

引用MQTTnet 3.1.2版本

 View Code

二、订阅消息

引用的MQTTnet最新4.1.0版本,新增MqttClientService类,实例化client。然后连接到服务端后订阅topic。

 View Code
 View Code

三、发送消息

引用的MQTTnet最新4.1.0版本,新增MqttClientService类,实例化client。然后连接到服务端后向指定topic发送消息。

 View Code
复制代码
复制代码
using MQTTnet;
using MQTTnet.Client;
using MQTTnet.Protocol;
using MQTTnet.Server;
using System;
using System.Text;
using System.Threading.Tasks;

namespace MQTTPublish
{
    internal class Program
    {
        private static IMqttClient client;
        static void Main(string[] args)
        {
            Console.WriteLine("Hello World!");
            client = new MqttClientService().MqttClientStart("127.0.0.1", 1883, "cyw", "123456", "cywcyw");
            client.ConnectedAsync += Client_ConnectedAsync;


            Console.ReadLine();
        }

        private static System.Threading.Tasks.Task Client_ConnectedAsync(MqttClientConnectedEventArgs arg)
        {
            Console.WriteLine("Client_ConnectedAsync");
            var message = new MqttApplicationMessage
            {
                Topic = "test",
                Payload = Encoding.Default.GetBytes("cyw-123456"),
                QualityOfServiceLevel = MqttQualityOfServiceLevel.AtLeastOnce,
                Retain = true  // 服务端是否保留消息。true为保留,如果有新的订阅者连接,就会立马收到该消息。
            };
            Console.WriteLine("PublishAsync topic:"+ message.Topic+ " Payload:"+ Encoding.UTF8.GetString(message.Payload));
            client.PublishAsync(message);
            return Task.CompletedTask;
        }
    }
}
复制代码
复制代码

四、测试

依次启动服务端,订阅消息客户端和发送消息客户端。

 

 

 

 demo地址

MQTTDemo.rar
---------------我是有底线的--------------------
作者:社会主义接班人
出处:http://www.cnblogs.com/5ishare/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
如果文中有什么错误,欢迎指出。以免更多的人被误导。
 
转 https://www.cnblogs.com/5ishare/p/16740199.html
posted @   dreamw  阅读(125)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
点击右上角即可分享
微信分享提示