zoukankan      html  css  js  c++  java
  • MQTT简记2

    之前用的2.8.5版本的,后来想升级一下,发现已经是3.0以上的,程序有所改动

    如下:

    (1)服务器端启动服务:

    // 配置一个mqtt服务.
    var optionsBuilder = new MqttServerOptionsBuilder()
    //连接记录数,默认 一般为2000
    .WithConnectionBacklog(2000)
    //服务器连接端口
    .WithDefaultEndpointPort(port)
    //连接验证器

    .WithConnectionValidator(e => ConnectionValidationHandler(e))
    ////持续会话
    .WithPersistentSessions()

    .WithDefaultCommunicationTimeout(TimeSpan.FromMilliseconds(60000))

    //每个客户端主题存1千万条数据
    .WithMaxPendingMessagesPerClient(1000000)
    ;
    //创建Mqtt服务器
    mqttServer = new MqttFactory().CreateMqttServer();

    ////开启订阅事件
    mqttServer.ClientSubscribedTopicHandler= new MqttServerClientSubscribedHandlerDelegate(MqttNetServer_SubscribedTopic);

    //取消订阅事件
    mqttServer.ClientUnsubscribedTopicHandler = new MqttServerClientUnsubscribedTopicHandlerDelegate(MqttNetServer_UnSubscribedTopic);

    //客户端消息事件
    mqttServer.UseApplicationMessageReceivedHandler(MqttServe_ApplicationMessageReceived);

    //客户端连接事件
    mqttServer.UseClientConnectedHandler(MqttNetServer_ClientConnected);

    //客户端断开事件
    mqttServer.UseClientDisconnectedHandler(MqttNetServer_ClientDisConnected);

    //启动服务
    await Task.Run(async () => { await mqttServer.StartAsync(optionsBuilder.Build()); });

    各个方法:连接断开订阅那些也类似

    /// <summary>
    /// 数据接收
    /// </summary>

    private static async Task MqttServe_ApplicationMessageReceived(MqttApplicationMessageReceivedEventArgs arg)
    {

    }

    /// <summary>
    /// mqtt客户端连接方法
    /// </summary>
    /// <returns></returns>

    private static void ConnectionValidationHandler(MqttConnectionValidatorContext eventArgs)
    {

    }

    更多的可以在github看    mqttnet开源库,https://github.com/chkr1011/MQTTnet        wiki

  • 相关阅读:
    动态SQL的注意
    关于数据库抛出异常:Incorrect string value: 'xE1x...' for column '字段名' at row 1 问题的解决方法
    让.bashrc文件在终端自动生效
    期中考试题
    RAP、Mock.js、Vue.js、Webpack
    全局变量变为局部变量 & MVC思想
    用 JS + LeanCloud 给网页添加数据库(留言功能)
    闭包的使用
    从发请求到AJAX到同源政策
    从实现HTML页面局部刷新到JSONP
  • 原文地址:https://www.cnblogs.com/lypstudy/p/13279715.html
Copyright © 2011-2022 走看看