资料介绍
软件简介
一个高性能、高稳定性的跨平台 MQTT 客户端,基于 socket API 开发,可以在嵌入式设备(FreeRTOS/LiteOS/RT-Thread/TencentOS tiny)、Linux、Windows、Mac 上使用,拥有非常简洁的 API 接口,以极少的资源实现 QOS2 的服务质量,并且无缝衔接了 mbedtls 加密库。
优势:
-
基于标准BSD socket之上开发,只要是兼容BSD socket的系统均可使用。
-
稳定:无论是
掉线重连
,丢包重发
,都是严格遵循MQTT协议标准
执行,除此之外对大数据量的测试无论是收是发,都是非常稳定(一次发送135K
数据,3秒一次),高频测试也是非常稳定(7个主题同时收发,每秒一次,也就是1秒14个mqtt报文,服务质量QoS0、QoS1、QoS2都有)。因为作者以极少的资源设计了记录机制
,对采用QoS1服务质量的报文必须保证到达一次,当发布的主题(qos1、qos2都适用)没有被服务器收到时会自动重发,而对QoS2服务质量的报文保证有且只有处理一次(如果不相信它稳定性的同学可以自己去修改源码,专门为QoS2服务质量去做测试,故意不回复PUBREC
包,让服务器重发QoS2报文,且看看客户端是否有且只有处理一次),而对于掉线重连的稳定性,这种则是基本操作了,没啥好说的,在自动重连后还会自动重新订阅主题,保证主题不会丢失,因此在测试中稳定性极好。 -
轻量级:整个代码工程极其简单,不使用mbedtls情况下,占用资源极少,作者曾使用esp8266模组与云端通信,整个工程代码消耗的RAM不足15k(包括系统占用的开销,对数据的处理开销,而此次还是未优化的情况下,还依旧完美保留了掉线重连的稳定性,但是对应qos1、qos2服务质量的报文则未做测试,因为STM32F103C8T6芯片资源实在是太少了,折腾不起)。
-
无缝衔接mbedtls加密传输,让网络传输更加安全,而且接口层完全不需要用户理会,无论是否加密,mqttclient对用户提供的API接口是没有变化的,这就很好的兼容了一套代应用层的码可以加密传输也可以不加密传输。
-
拥有极简的API接口,总的来说,mqttclient的配置都有默认值,基本无需配置都能使用的,也可以随意配置,对配置都有健壮性检测,这样子设计的API接口也是非常简单。
-
有非常好的代码风格与思想:整个代码采用分层式设计,代码实现采用异步处理的思想,降低耦合,提高性能,具体体现在什么地方呢?很简单,目前市面上很多MQTT客户端发布主题都是要阻塞等待ack,这是非常暴力的行为,阻塞当前线程等待服务器的应答,那如果我想要发送数据怎么办,或者我要重复检测数据怎么办,你可能会说,指定阻塞时间等待,那如果网络延迟,ack迟迟不来,我就白等了吗,对于qos1、qos2的服务质量怎么办,所以说这种还是要异步处理的思想,我发布主题,那我发布出去就好了,不需要等待,对于qos1、qos2服务质量的MQTT报文,如果服务器没收到,那我重发就可以,这种重发也是异步的处理,完全不会阻塞当前线程。
-
MQTT协议支持主题通配符
“#”、“+”
。 -
订阅的主题与消息处理完全分离,让编程逻辑更加简单易用,用户无需理会错综复杂的逻辑关系。
-
mqttclient内部已实现保活处理机制,无需用户过多关心理会,用户只需专心处理应用功能即可。
-
无缝衔接salof:它是一个同步异步日志输出框架,在空闲时候输出对应的日志信息,也可以将信息写入flash中保存,方便调试。
-
不对外产生依赖。
-
使用 paho mqtt 库
整体框架
拥有非常明确的分层框架。
目前已实现了Linux、TencentOS tiny、FreeRTOS、RT-Thread平台(已做成软件包,名字为kawaii-mqtt
),除此之外TencentOS tiny的AT框架亦可以使用(RAM消耗不足15K),并且稳定性极好!
平台 | 代码位置 |
---|---|
Linux | https://github.com/jiejieTop/mqttclient |
TencentOS tiny | https://github.com/Tencent/TencentOS-tiny/tree/master/board/Fire_STM32F429 |
TencentOS tiny AT 框架 | https://github.com/jiejieTop/gokit3-board-mqttclient |
RT-Thread | https://github.com/jiejieTop/kawaii-mqtt |
FreeRTOS | https://github.com/jiejieTop/freertos-mqttclient |
- MQTT客户端快速入门指南 按键按下
- MQTT客户端空气质量快速入门指南
- MQTT客户端快速入门指南 按键按下
- MQTT客户端空气质量快速入门指南
- MQTT客户端移植C语言
- NodeMCU项目(三)MQTT客户端
- 如何使用MQTT客户端连接阿里云MQTT服务器详细教程说明
- Cmd Markdown客户端免费下载 11次下载
- 紫金桥软件客户端的启动参数 3次下载
- Android 仿QQ客户端及服务端源码 3次下载
- mqtt 客户端VS2010 59次下载
- CSDN博客客户端源码 1次下载
- CoolpyCould客户端 18次下载
- 基于USB的加密视频客户端的设计与实现
- 用Delphi开发OPC客户端工具的方法研究
- Raspberry Pi树莓派使用Python实现MQTT通信设计 611次阅读
- 适用于Linux的基于Rust的同步客户端介绍 449次阅读
- 分享一款别样的ssh客户端-PortX 448次阅读
- 服务器Server和客户端Client的区别 1152次阅读
- 巨控MQTT功能推送说明 477次阅读
- 盘点2023年值得尝试的MQTT客户端工具 4539次阅读
- MQTT客户端介绍 2180次阅读
- MQTT在线配置裁剪工具 875次阅读
- 基于LwIP的HTTP客户端设计 2473次阅读
- 基于LwIP的TCP客户端设计 2111次阅读
- 基于RAW API的UDP客户端设计 1066次阅读
- 密钥服务器和客户端常见问题解答 1117次阅读
- SSH 客户端各种特性和使用说明 1430次阅读
- 鸿蒙应用如何唤起 QQ 安卓客户端进行授权 3473次阅读
- Zoom的Web客户端和WebRTC有什么关系 1.4w次阅读
下载排行
本周
- 1山景DSP芯片AP8248A2数据手册
- 1.06 MB | 532次下载 | 免费
- 2RK3399完整板原理图(支持平板,盒子VR)
- 3.28 MB | 339次下载 | 免费
- 3TC358743XBG评估板参考手册
- 1.36 MB | 330次下载 | 免费
- 4DFM软件使用教程
- 0.84 MB | 295次下载 | 免费
- 5元宇宙深度解析—未来的未来-风口还是泡沫
- 6.40 MB | 227次下载 | 免费
- 6迪文DGUS开发指南
- 31.67 MB | 194次下载 | 免费
- 7元宇宙底层硬件系列报告
- 13.42 MB | 182次下载 | 免费
- 8FP5207XR-G1中文应用手册
- 1.09 MB | 178次下载 | 免费
本月
- 1OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 2555集成电路应用800例(新编版)
- 0.00 MB | 33566次下载 | 免费
- 3接口电路图大全
- 未知 | 30323次下载 | 免费
- 4开关电源设计实例指南
- 未知 | 21549次下载 | 免费
- 5电气工程师手册免费下载(新编第二版pdf电子书)
- 0.00 MB | 15349次下载 | 免费
- 6数字电路基础pdf(下载)
- 未知 | 13750次下载 | 免费
- 7电子制作实例集锦 下载
- 未知 | 8113次下载 | 免费
- 8《LED驱动电路设计》 温德尔著
- 0.00 MB | 6656次下载 | 免费
总榜
- 1matlab软件下载入口
- 未知 | 935054次下载 | 免费
- 2protel99se软件下载(可英文版转中文版)
- 78.1 MB | 537798次下载 | 免费
- 3MATLAB 7.1 下载 (含软件介绍)
- 未知 | 420027次下载 | 免费
- 4OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 5Altium DXP2002下载入口
- 未知 | 233046次下载 | 免费
- 6电路仿真软件multisim 10.0免费下载
- 340992 | 191187次下载 | 免费
- 7十天学会AVR单片机与C语言视频教程 下载
- 158M | 183279次下载 | 免费
- 8proe5.0野火版下载(中文版免费下载)
- 未知 | 138040次下载 | 免费
评论
查看更多