国产全自研 · Broker + Client 一体化 · 无开源污染

芯祥联自研 MQTT 协议栈
Broker + Client 一体化产品解决方案

纯 C 语言自研 MQTT 协议栈,无第三方依赖、无开源协议污染,完整支持 MQTT 3.1.1 / 5.0 双协议。面向中小企业、工业网关、嵌入式与内网私有化场景,提供「免费试用 · 商用 SDK · 源码交付」三级交付模式,从设备接入到消息传输一套方案覆盖两端。

三种交付模式,按需选择

从开箱即用的免费试用版,到工程化商用 SDK,再到核心源码定制,覆盖验证、集成、深度定制全流程

📦

MQTT 一体化试用包(免费)

与 SNMP 试用包同思路:可执行二进制 + SDK 接口 + Demo 一体化交付,全功能开放

  • 含可执行二进制:Broker 命令行 / Web 管理 / GUI + Client 交互与自动化 Demo
  • 含 SDK 接口与 Demo 样例,可二次开发验证客户业务
  • 唯一限制:累计 10 万条报文,重启清零,无其他功能限制
  • 无连接数、主题数、协议特性、运行时间限制
  • 配 MQTTX 等标准客户端,5 分钟完成收发验证
📜

源码交付(高级定制版)

提供产品核心源码,支持深度定制与自主维护,满足高安全高合规场景

  • Broker + Client 双端核心源码授权(NDA 协议)
  • 可自定义认证鉴权、日志输出、网络适配层
  • 适配信创 / 等保 / 特殊行业认证场景
  • 配套源码架构解读、定制开发与性能调优服务
  • 授权清晰,可用于二次开发与产品化发行

八大核心能力

聚焦刚需特性,兼顾轻量与高效,专为国内中小企业与工业物联网场景设计

🔗 一体化设计

Broker 服务端与 Client 设备端统一架构,一套方案覆盖两端,类型、日志、接口风格一致,降低对接与维护成本。

🔁 双协议兼容

完整支持 MQTT 3.1.1 与 5.0 标准协议,可对接任何标准 MQTT 客户端与服务端(MQTTX、mosquitto、EMQX 等)。

⚡ 轻量高效

剔除冗余功能,仅保留核心刚需特性。Broker 哈希表 O(1) 客户端管理、细粒度锁、非阻塞 IO,低资源占用高性能。

🏗️ 多实例架构

Broker 可部署多独立实例,按业务分区隔离、横向扩容;Client 多实例相互隔离,单设备可模拟多终端接入。

💻 跨平台多形态

兼容 Windows、Linux、ARM32/ARM64、国产芯片及 STM32F4 嵌入式;提供 CLI 命令行、Web 管理(8088)、GUI 图形界面、Web 网桥(web_bridge)、Service 服务版五种运行形态。

🔐 私有化安全可控

支持内网私有化部署,数据不出内网;提供用户接入认证、ACL 主题权限管控,应用层 Payload 加密接口开放可自定义。

🔓 开源模块易扩展

网络、日志、平台适配、底层接口等模块开源开放,可按需定制适配,降低项目集成与个性化改造成本。

🌐 多语言生态易集成

提供 Linux .so 与 Windows .dll 动态库(Client / Broker 双端,覆盖 x86 / ARM32 / ARM64);C# PInvoke、Java JNA、Python ctypes、Go cgo 可直接调用同一套 C API,上位机与业务系统快速集成。

Broker + Client 一体化架构

一套方案覆盖两端:设备端集成 Client SDK 接入,服务端部署 Broker SDK 转发,Web 管理统一运维

设备端 · MQTT Client SDK STM32 / 网关 / 工控机 / 上位机 11 个 API:创建 / 连接 / 发布 / 订阅 QoS 0/1/2 · 遗嘱 · 断网重连 · 心跳 MQTT 3.1.1 / 5.0 自动适配 消息传输层 自研 MQTT Broker 内核 消息路由 · 会话持久化 · 订阅管理 QoS 可靠投递 · 保留消息 · 遗嘱 24 个 API + 认证 / ACL / 事件回调 TCP 1883 管理形态 Web 管理:HTTP 8088(在线监控/ 客户端管理 / 消息下发 / 日志) CLI / Web 网桥 / Service 服务版 GUI 版:Windows / Linux GTK 业务应用层 企业管理后台 · 组态大屏 · 手机 APP / 小程序 · 数据采集平台(标准化 API / HTTP 快速集成) 标准化 API / HTTP 对接
1
套方案覆盖两端

Broker + Client 同一产品线交付,对接与维护成本双降

2
种协议版本

MQTT 3.1.1 与 5.0 双协议,兼容一切标准 MQTT 生态

3
种交付形态

免费试用 / 商用 SDK / 源码定制,按项目阶段灵活选择

Broker + Client 双端产品价值

服务端与设备端各自聚焦核心场景,协同满足完整物联网通信链路

Broker 服务端

海量连接 · 完整协议 · 稳定可靠

  • 万级客户端并发长连接,单实例设计容量 11000 连接
  • 完整消息路由、会话保持、QoS 0/1/2、遗嘱、5.0 共享订阅
  • 消息低延迟转发,无内存泄漏、无句柄泄漏,7×24 小时运行
  • 多实例独立部署,业务分区隔离、横向扩容
  • 用户接入认证 + ACL 主题权限管控 + 匿名开关
  • 会话 / 订阅 / 保留消息持久化,重启不丢失
  • 提供 .so / .dll 动态库 + .a / .lib 静态库,C/C++、C#、Java、Python、Go 及组态软件可对接
  • Web 管理(8088)+ CLI + GUI + Web 网桥 + Service 服务版,多形态运维
Client 设备端

极致轻量 · 极简接口 · 全平台覆盖

  • 资源占用极低,适配 STM32F4、FreeRTOS/RT-Thread 等嵌入式环境
  • 完整发布订阅、QoS 0/1/2、消息保序、遗嘱、断网自动重连
  • 多 Client 实例同时创建、相互隔离,单设备模拟多终端
  • 仅 11 个 API,3 个必填配置项即可创建客户端,1 天完成集成
  • MQTT 5.0 共享订阅:只需配置共享组名,SDK 自动拼接 $share/
  • 应用层 Payload 加密:crypto_enable + 16 字节密钥,接口开放可自定义
  • 主循环轮询驱动、无线程依赖,嵌入式可直接照搬架构
  • Windows / Linux / ARM32 / ARM64 / STM32,一次开发多平台复用

API 快速上手:几步完成 MQTT 接入

接口极简,配置均有默认值,普通用户仅需填写必填项,配套完整 Demo 源码

// 引入 MQTT Client SDK 头文件
#include "mqtt_client_sdk.h"
#include <string.h>

// 订阅消息回调(收到消息即触发)
void on_msg(const MqttSdkMsg* msg) {
    printf("主题[%s] 内容[%.*s]\n", msg->topic,
           (int)msg->payload_len, (const char*)msg->payload);
}

int main() {
    MqttSdkClientCfg cfg;
    MqttSdkClient   h;

    // 1. 全局初始化(整个程序仅 1 次)
    xxl_mqtt_sdk_global_init();

    // 2. 创建客户端:仅 3 个必填项,其余全默认
    memset(&cfg, 0, sizeof(cfg));
    cfg.client_id   = "gw_001";
    cfg.broker_ip   = "192.168.1.100";
    cfg.broker_port = 1883;
    h = xxl_mqtt_sdk_client_create(&cfg, on_msg, NULL);

    // 3. 连接 Broker
    xxl_mqtt_sdk_client_connect(h);

    // 4. 订阅主题(QoS1) + 发布消息
    xxl_mqtt_sdk_client_subscribe(h, "device/data", MQTT_SDK_QOS1, NULL);
    MqttSdkMsg msg = {"device/data", (const uint8_t*)"hello",
                          5, MQTT_SDK_QOS1, 0, 0};
    xxl_mqtt_sdk_client_publish(h, &msg);

    // 5. 主循环周期轮询(10~50ms):收包/回调/心跳/断线重连
    while (1) {
        xxl_mqtt_sdk_client_loop(h);
        usleep(50 * 1000);
    }
}
// 引入 MQTT Broker SDK 头文件
#include "mqtt_broker_sdk.h"
#include <string.h>
#include <unistd.h>

// 认证回调:校验用户名 / 密码
bool auth_cb(broker_handle_t h, const char* cid,
               const char* user, const char* pwd) {
    return (user && pwd && strcmp(user, "admin") == 0
            && strcmp(pwd, "123456") == 0);
}

// 事件回调:上线 / 下线 / 发布 / 订阅 / 遗嘱(JSON 数据)
void event_cb(broker_handle_t h, BrokerEventType type, const char* json) {
    printf("事件[%d] %s\n", type, json);
}

int main() {
    // 1. 创建 Broker 实例(支持多实例)
    broker_handle_t h = xxl_sdk_mqtt_broker_create();

    // 2. 注册认证与事件回调
    xxl_sdk_mqtt_broker_register_auth_callback(h, auth_cb);
    xxl_sdk_mqtt_broker_register_event_callback(h, event_cb);

    // 3. 初始化并启动:端口 1883,最大 5000 连接
    xxl_sdk_mqtt_broker_init(h);
    xxl_sdk_mqtt_broker_start(h, 1883, 5000);

    // 4. 7×24 运行(可另开线程调用 get_stats / kick 等管理接口)
    while (1) sleep(1);

    xxl_sdk_mqtt_broker_stop(h);
    xxl_sdk_mqtt_broker_deinit(h);
    xxl_sdk_mqtt_broker_destroy(h);
    return 0;
}

以上为真实 SDK 接口的简化示例(签名与头文件一致),完整可编译代码见 SDK 包内 demo/ 目录(Client 4 个 Demo + Broker AppDemo / 服务版 / Web 网桥源码)

版本速览

快速找到适合您项目的版本,详细对比与下载入口请前往下载中心

版本协议支持交付形态适用场景获取
MQTT 一体化试用包(免费) MQTT 3.1.1 / 5.0 全功能 可执行二进制 + SDK 接口 + Demo(Broker + Client) 协议测试、并发压测、技术预研(累计 10 万报文限制,重启清零) 免费下载 →
商用 SDK(一体化) MQTT 3.1.1 / 5.0 Broker + Client 库 / 头文件 / Demo / 文档 网关、嵌入式设备、业务系统集成,永久商用授权 授权获取 →
Client SDK 独立授权 MQTT 3.1.1 / 5.0 Client 库 / 头文件 / Demo / 文档 仅需终端设备通信能力、无需自建 Broker 的场景 授权获取 →
源码高级定制 MQTT 3.1.1 / 5.0 双端核心源码(NDA)+ 定制服务 信创 / 等保、高安全高定制化项目 联系咨询 →

常见问题

关于产品形态、协议能力与集成方式的高频疑问

免费试用版和商用 SDK 有什么区别?+
MQTT 一体化试用包(含可执行二进制、SDK 接口与 Demo 样例)全功能开放,可直接运行压测验证;唯一限制是累计处理 10 万条 MQTT 报文后需重启清零(计数所有报文:CONNECT/PUBLISH/SUBSCRIBE 等,达到后拒绝新发布/转发但不断开已有连接),无连接数、主题数、协议特性、运行时间限制。商用 SDK 解除报文限制,提供库文件、头文件、Demo 与文档,永久授权无年费。
支持 MQTT 5.0 吗?有哪些高级特性?+
完整支持 MQTT 3.1.1 与 5.0 双协议(编译开关切换)。5.0 特性包括:共享订阅(客户端只需配置共享组名,SDK 自动拼接 $share/ 前缀并完成负载均衡)、消息过期、会话过期、最大报文限制等,可对接任何标准 MQTT 客户端与服务端。
能在 STM32 等嵌入式设备上运行吗?+
可以。Client SDK 已实测 STM32F4 系列,交付 STM32CubeIDE / Keil 完整工程(配合 lwIP 网络栈),主循环轮询驱动、无线程依赖,嵌入式可直接照搬架构。Windows / Linux x86 实测通过;ARM 架构、ESP32、FreeRTOS/RT-Thread 等未实测平台提供付费定制移植服务。
消息加密如何实现?+
SDK 提供应用层 Payload 自动加解密:配置 crypto_enable 为 true 并设置 16 字节密钥(crypto_key / crypto_iv)即可,主题保持明文便于路由。加密接口对外开放,支持用户自定义加密实现,也可选用公司自研安全算法,满足不同等级安全接入需求。
SDK 是开源的吗?可以商用吗?+
采用「开源组件 + 闭源内核 + 授权定制」模式:网络、日志、平台适配、底层接口等外围模块开源开放,客户可自行定制;核心协议栈(报文解析、会话管理、并发调度)闭源保障稳定,可通过源码授权获得。商用授权为永久授权,允许内部二次开发与产品化,禁止二次分发源码。
支持哪些平台?+
已实测平台:Windows 11、Linux x86_64(支持腾讯云等服务器部署)、STM32F4 系列;Broker 另支持 Linux ARM32/ARM64。ARM 架构其他型号、各类 RTOS 等未实测平台,可提供付费定制移植适配服务,一次适配多项目复用。
如何快速验证产品能力?+
下载 MQTT 一体化试用包:Broker 提供 CLI 命令行版(1883)、Web 管理一体化版(8088,在线监控/客户端管理/消息下发/认证配置/日志)、GUI 图形界面版、Web 网桥(web_bridge,支持浏览器与 Web 应用接入)、Service 后台服务版;Client 提供 3.1.1/5.0 交互式命令行 Demo 与自动化压力测试程序。配 MQTTX 等标准客户端 5 分钟即可完成收发验证。
支持哪些高级语言?如何通过 .so / .dll 集成?+
SDK 同时交付静态库(.a / .lib)与动态库(Linux .so / Windows .dll),Client 与 Broker 双端均覆盖 x86 / ARM32 / ARM64。C/C++ 直接链接;C# 通过 PInvoke、Java 通过 JNA/JNI、Python 通过 ctypes、Go 通过 cgo 加载 .so/.dll 调用同一套 C API,无需重新封装协议栈。动态库接口与头文件完全一致,高级语言项目可快速集成。
与 Mosquitto、EMQX 等开源 Broker 相比有什么优势?+
一是国产纯自研,无第三方开源代码耦合、无 GPL 等协议版权污染,投标商用无顾虑;二是 Broker + Client 一体化交付,一套方案覆盖两端,降低对接与维护成本;三是提供中文商业技术支持、按项目/公司永久授权,可选源码定制与移植服务,适合中小企业低成本快落地。

立即开始使用 XXLMQTT

免费下载 MQTT 3.1.1/5.0 全功能试用版,或申请商用 SDK 授权与源码合作

免费下载试用