MQTT客户端

我要开发同款
杰杰专业开发2023年03月05日
136阅读
所属分类网络协议栈、物联网、嵌入式

作品详情

一个高性能、高稳定性的跨平台MQTT客户端,基于socket API之上开发,可以在嵌入式设备(FreeRTOS/LiteOS/RT-Thread/TencentOS tiny)、Linux、Windows、Mac上使用,拥有非常简洁的API接口,以极少的资源实现QOS2的服务质量,并且无缝衔接了mbedtls加密库。优势:具有极高的稳定性:无论是掉线重连,丢包重发,都是严格遵循MQTT协议标准执行,除此之外对大数据量的测试无论是收是发,都是非常稳定,高频测试也是非常稳定。轻量级:整个代码工程极其简单,不使用mbedtls情况下,占用资源极少,作者曾使用esp8266模组与云端通信,整个工程代码消耗的RAM不足15k。支持mbedtls加密传输,让网络传输更加安全,而且接口层完全不需要用户理会,无论是否加密,mqttclient对用户提供的API接口是固定的,这就很好的兼容了一套代应用层的码可以加密传输也可以不加密传输。支持多客户端,同时兼容多个客户端运行工作,一个设备连接多个的服务器。支持同步异步处理,应用程序无需阻塞等待浪费CPU资源。支持拦截器配置,在某些平台中,客户端会默认自动订阅系统主题,而且每次来自服务器的主题都是变动的,此时需要使用拦截器进行拦截,分离主题与数据信息,并递交给用户,极大提高灵活性。拥有在线代码生成工具,极其简单配置就可以生成对应的代码,地址:https://jiejietop.gitee.io/mqtt/index.html拥有极简的API接口,总的来说,mqttclient的配置都有默认值,基本无需配置都能使用的,也可以随意配置,对配置都有健壮性检测,这样子设计的API接口也是非常简单。多功能参数可配置可裁剪,重连时间间隔、心跳周期、最大订阅数量、命令超时、读写缓冲区大小、拦截器处理等等参数功能可裁剪可配置,满足开发者再复杂、简单等各种开发环境下的使用需求。支持自动重新订阅主题,在自动重连后保证主题不会丢失。支持主题通配符“#”、“+”。订阅的主题与消息处理完全分离,让编程逻辑更加简单易用,用户无需理会错综复杂的逻辑关系。mqttclient内部已实现保活处理机制,无需用户过多关心理会,用户只需专心处理应用功能即可。拥有非常好的设计,以极少的资源设计了记录机制,当报文在丢失的时候进行重发操作,确保qos1、qos2服务质量等级的报文保证其服务质量。有非常好的代码风格与思想:整个代码采用分层式设计,代码实现采用异步处理的思想,降低耦合,提高性能。基于标准BSD socket之上开发,只要是兼容BSD socket的系统均可使用。无缝衔接salof:它是一个同步异步日志输出框架,在空闲时候输出对应的日志信息,也可以将信息写入flash中保存,方便调试。使用著名的 paho mqtt 库封包。无其他依赖。在线代码生成工具本项目拥有代码生成工具,只需要在线配置即可生成代码,极其简单易用,代码生成工具地址:https://jiejietop.gitee.io/mqtt/index.html
查看全文
声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论