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

  • 相关阅读:
    Apache-一个IP多个主机域名
    Apache-配置详解
    Apache-配置、测试和调试
    Linux-Memcache和Redis常用命令
    Linux-Linux下安装redis报错"undefined reference to__sync_add_and_fetch_4"解决办法
    C-从源文件到可执行文件的详细编译链接过程
    JavaScript-jQuery报TypeError $(...) is null错误(jQuery失效)解决办法
    MSSQL-SQL SERVER一些使用中的技巧
    unity 在Game视图中显示Gizmos
    unity Transform.TransformPoint
  • 原文地址:https://www.cnblogs.com/lypstudy/p/13279715.html
Copyright © 2011-2022 走看看