MQTTnet4入门(二)实现客户端

这篇具有很好参考价值的文章主要介绍了MQTTnet4入门(二)实现客户端。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

上一篇写服务端的文章《MQTTnet4入门(一)实现服务端》已经是去年年底,现在MQTTnet的版本是4.2.1.781,总的来说改动不大。下面以新版为例实现一个客户端。

var mqttClientOptions = new MqttClientOptionsBuilder()
            .WithTcpServer("地址", 端口)
            .WithClientId("我是客户端名称")//连接id
            .WithCredentials("demo","123456")//如果有用户名密码
            .WithTls()//如果启用了ssl/tls
            .WithProtocolVersion(MqttProtocolVersion.V500)//如果用mqtt5
            .Build();//配置
        IMqttClient client = new MqttFactory().CreateMqttClient();//创建连接
        client.ApplicationMessageReceivedAsync += MqttClient_ApplicationMessageReceivedAsync;//收到消息的事件
        client.ConnectedAsync += Client_ConnectedAsync;//连接成功的事件
        client.ConnectingAsync += Client_ConnectingAsync;//连接中的事件

配置里面一个大坑害我调了一个小时,如果mqtt服务端需要用户名和密码,那么使用.WithCredentials()来填写。我一直以为是.WithUserProperty(),极有迷惑性。

连接并订阅主题:

while (true)
{
    try
    {
        if (!await client.TryPingAsync())
        {
            await client.ConnectAsync(mqttClientOptions, CancellationToken.None);
            var mqttSubscribeOptions = new MqttFactory().CreateSubscribeOptionsBuilder()
                .WithTopicFilter(
                f =>
                {
                    f.WithTopic("shi");//订阅主题
                })
                .Build();
            await client.SubscribeAsync(mqttSubscribeOptions);
        }
    }
    catch
    {
        // 错误
    }
    finally
    {
        // 每5秒检查一次连接状态,连接失败重连
        await Task.Delay(TimeSpan.FromSeconds(5));
    }
}

 文章来源地址https://www.toymoban.com/news/detail-656147.html

到了这里,关于MQTTnet4入门(二)实现客户端的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • C# Socket通信从入门到精通(16)——单个同步UDP服务器监听多个客户端C#代码实现

    我们在开发UDP通信程序时,有时候我们也需要开发UDP服务器程序,这个服务器只需要和一个客户端实现通信,比如这篇博文C# Socket通信从入门到精通(15)——单个同步UDP服务器监听一个客户端C#代码实现,但是在实际项目中有的时候需要和多个客户端进行通信,这时和一个客

    2024年01月22日
    浏览(58)
  • C# Socket通信从入门到精通(15)——单个同步UDP服务器监听一个客户端C#代码实现

    我们在开发UDP通信程序时,除了开发UDP客户端程序,有时候我们也需要开发UDP服务器程序,这在实际项目中是经常会遇到的,所以说掌握UDP服务器程序的开发是一项必备的技能,尤其在上位机软件开发领域,掌握UDP服务器程序的开发是走向高级工程师的必经之路,也是面试必

    2024年02月03日
    浏览(56)
  • 三、MySQL实例初始化、设置、服务启动关闭、环境变量配置、客户端登入(一篇足以从白走到黑)

    目录 1、选择安装的电脑类型、设置端口号 2、选择mysql账号密码加密规则 3、设置root账户密码 4、设置mysql服务名和服务启动策略 5、执行设置(初始化mysql实例) 6、完成设置  7、MySQL数据库服务的启动和停止 方式一:图形化方式 方式二:命令行方式 8、MySQL数据库环境变量的

    2024年01月18日
    浏览(55)
  • 【Redis入门篇】| Redis的Java客户端

    目录 一: Redis的Java客户端 1. Jedis快速入门 2. Jedis连接池 3. SpringDataRedis快速入门 4. RedisSerializer配置 5. StringRedisTemplate 图书推荐 在Redis官网中提供了各种语言的客户端,地址: https://redis.io/resources/clients/ Jedis: 以 Redis 命令作为方法名称,学习成本低,简单实用。但是 Jedis 实

    2024年02月03日
    浏览(98)
  • 使用Flutter构建ChatGPT客户端:快速入门指南

    在本篇博客文章中,我们将通过OpenAI的API构建一个简单的对话界面,与ChatGPT进行聊天。 近来OpenAI和ChatGPT的热度很高,尤其是最近发布的GPT-4。这类工具的大量使用案例已经涌现出来,但目前人们最常用ChatGPT的方式是通过chat.openai.com进行聊天。我一直在使用ChatGPT来激发灵感、

    2024年02月05日
    浏览(41)
  • 【Android】MQTT入门——服务器部署与客户端搭建

    MQTT(Message Queuing Telemetry Transport) 是一种基于发布/订阅模式的轻量级消息传输协议,专门针对低带宽、和不稳定网络环境的物联网应用而设计,它可以用极少的代码为互联网设备提供实时可靠的消息服务。 MQTT 协议主要用于物联网和移动设备等资源有限的场景中,其中包括

    2024年02月04日
    浏览(80)
  • 云备份客户端——客户端整体设计框架以及实用类工具实现

    客户端要实现的功能和服务端相比相对简单,客户端要实现的功能是 自动对指定文件中的文件进行备份,也就是定时对指定文件进行扫描,根据文件信息判断文件,符合要求(新文件或者被修改过的文件)进行上传 因此我们客户端大概需要实现下面三个模块 数据管理模块:

    2024年02月09日
    浏览(52)
  • 3 天,入门 TAURI 并开发一个跨平台 ChatGPT 客户端

      TAURI 是一个使用 Rust 编写的程序框架,它允许我们使用 Web 技术和 Rust 语言构建跨端应用。它提供了大量特性,例如系统通知、网络请求、全局快捷键、本地文件处理等,它们都可以在前端通过 JavaScript 便捷的调用。 TAURI 应用的后端基于 Rust,这是一种内存安全、性能出色

    2024年02月13日
    浏览(39)
  • Linux下TCP网络服务器与客户端通信程序入门

    实现客户端连接服务器,通过终端窗口发送信息给服务器端,服务器接收到信息后对信息数据进行回传,客户端读取回传信息并返回。 服务器当前IP地址要知道 建立socket 绑定本地IP地址并设置端口号 知道服务器的IP地址和端口号 然后进行连接

    2024年02月14日
    浏览(60)
  • AWS 中文入门开发教学 36- 连接MySQL - MySQL客户端工具

    在EC2安装 MySQL 客户端工具,连接到 MySQL RDS 数据库实例 拷贝数据库终端节点 安装 MySQL 客户端命令行工具 连接到 MySQL 服务器实例 建立数据表 添加数据

    2024年02月12日
    浏览(41)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包