MQTT之NanoSDK-Windows篇

[复制链接]
发表于 2026-8-7 09:10:02 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
1、前言

  最近在学习MQTT过程中使用NanoMQ。我个人下载的是nanomq-0.25.5-windows-x86_64.zip,下载 NanoMQ,里面包含服务端和客户端两个程序。本篇需要使用NanoMQ提供的服务端。同时我也下载了MQTTX作为客户端,带图形界面,个人使用版本MQTTX-Setup-1.13.0-x64.exe,MQTTX 下载。服务端启动:在bin目录下打开命令窗口,使用命令nanomq start --url '127.0.0.1:1883' --conf  D:\software\MQTT\config\nanomq.conf,如下图。nanomq.conf在解压安装nanomq时,放在config目录下。客户端可以使用MQTTX,也可以使用nanomq的客户端,也可以同时使用。个人实行开启两个客户端命令窗口,一个发布一个订阅。MQTTX也创建两个客户端毗连,同样也是一个发布另一个订阅,功能甚是强大。发现这个软件还是开源项目,格局打开。GitHub项目地址nanomq/nanomq:一款超轻量且极速的边缘和软件自带(SDV)消息总线/MQTT 代理。欣赏过程中发现有个NanoSDK的开源项目链接nanomq/NanoSDK: NanoSDK - MQTT 5.0-compliant SDK with QUIC support in NNG flavor,这正是本篇正题。  网上查找了很多资料也没有关于Windows上使用源码构建的博文,于是誊写本文进行记录。
2、克隆项目并安装依赖
  1. git clone https://github.com/emqx/NanoSDK
  2. cd NanoSDK
  3. git submodule update --init --recursive
复制代码
3、使用CMake GUI进行程序构建


4、打开工程编译项目,并安装nng库


5、使用CMake GUI构建Demo下的mqtt示例工程。我当时找了好久,怎么没有Demo目录下的示例。后面搜索资料才知道需要依赖nng库才行。


6、点击Generate-》Open project。打开mqtt示例工程并编译,再输出路径下打开命令窗口,输入命令mqtt_client.exe sub "mqtt-tcp://127.0.0.1:1883" 2 "client"开启订阅。但是发现MQTTX发布消息到client中,程序始终无法收到消息。询问Deekseek,因为该示例订阅是异步的,程序在收到订阅确认(SUBACK)之前就已经进入了吸收循环,导致可能错过了消息.于是对代码进行了修改。


7、发布和订阅
  1. mqtt_client.exe pub "mqtt-tcp://127.0.0.1:1883" 2 world "Hi" 1000  //发布
复制代码
  1. mqtt_client.exe sub "mqtt-tcp://127.0.0.1:1883" 2 "client"
复制代码
8、效果

 
 
 
     
 
回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表