Yibin’s Blog
首页
搜索
友情链接
关于我
留言板
往期整理
历史归档
文章分类
文章标签
文章
107
分类
4
标签
58
首页
搜索
友情链接
关于我
留言板
往期整理
历史归档
文章分类
文章标签
技术分享
🍲
Paho 源码结构与基础使用实践
发布于: 2026-1-25
最后更新: 2026-1-25
次查看
spring
源码
Java
编程
科技
智能家居
目录
0%
🖱 引言
1. 仓库与构建基础
1.1 GitHub 仓库结构
1.2 Maven 依赖管理
MQTT v3.1.1 客户端依赖
MQTT v5.0 客户端依赖
1.3 构建方式
1.4 JAR 输出结构
2. 包 / 模块 / 目录结构概览
2.1 项目模块划分
2.2 核心包结构分析
2.3 同步 API vs 异步 API 的架构设计
同步 API:MqttClient
异步 API:MqttAsyncClient
2.4 示例代码目录
3. 基本使用流程与典型示例(以 MQTT v3 为主)
3.1 初始化客户端
方式一:同步客户端(推荐新手)
方式二:异步客户端(推荐生产环境)
3.2 配置连接参数
3.3 建立连接
同步方式
异步方式
3.4 发布消息
同步发布
异步发布
3.5 订阅消息 + 回调机制
同步订阅
异步订阅 + Per-Subscription 回调
3.6 断开连接 / 清理资源
4. 同步 API 与异步 API 的对比与适用场景
4.1 为什么同时提供两套 API?
4.2 同步方式的优缺点
优点
缺点
4.3 异步方式的优缺点
优点
缺点
4.4 适用场景对比
5. 简单 Demo:从零开始运行一个最基础的 Publish / Subscribe 程序
5.1 完整代码示例
5.2 编译和运行
使用 Maven
使用 IDE
5.3 调试和日志建议
启用详细日志
观察连接状态
6. 实际项目中应用时的建议与注意事项(结合 IoT / 智能硬件背景)
6.1 设备 / 边缘设备 / 轻量客户端
6.2 资源受限设备 / 简单脚本 / 测试脚本
6.3 QoS 选择建议
6.4 连接稳定性保障
心跳配置
异常处理
6.5 持久化选择
内存持久化(MemoryPersistence)
文件持久化(MqttDefaultFilePersistence)
6.6 避免不必要的依赖
6.7 性能优化建议
批量操作
线程池共享
合理配置飞行窗口
⏰ 结语
🔦 参考资料
Yibin
一名平凡的程序员👨🏻💻
文章
107
分类
4
标签
58
最新发布
修 Bug 不是拉电闸,是把线路接对
2026-7-14
JXCache:一个 JetCache 工具集,从可观测开始
2026-7-7
没有 .proto,我照样把这段 protobuf 解开了
2026-7-2
gRPC 请求变成字节后,到底长什么样
2026-6-29
一条配置查询,搞瘫了整个服务
2026-6-13
AI 生成的代码有 bug,修还是重来?我的三层判断法
2026-6-7
公告
📢
行远自迩,笃行不怠。
记录技术、工具和一些真实的折腾。
目录
0%
🖱 引言
1. 仓库与构建基础
1.1 GitHub 仓库结构
1.2 Maven 依赖管理
MQTT v3.1.1 客户端依赖
MQTT v5.0 客户端依赖
1.3 构建方式
1.4 JAR 输出结构
2. 包 / 模块 / 目录结构概览
2.1 项目模块划分
2.2 核心包结构分析
2.3 同步 API vs 异步 API 的架构设计
同步 API:MqttClient
异步 API:MqttAsyncClient
2.4 示例代码目录
3. 基本使用流程与典型示例(以 MQTT v3 为主)
3.1 初始化客户端
方式一:同步客户端(推荐新手)
方式二:异步客户端(推荐生产环境)
3.2 配置连接参数
3.3 建立连接
同步方式
异步方式
3.4 发布消息
同步发布
异步发布
3.5 订阅消息 + 回调机制
同步订阅
异步订阅 + Per-Subscription 回调
3.6 断开连接 / 清理资源
4. 同步 API 与异步 API 的对比与适用场景
4.1 为什么同时提供两套 API?
4.2 同步方式的优缺点
优点
缺点
4.3 异步方式的优缺点
优点
缺点
4.4 适用场景对比
5. 简单 Demo:从零开始运行一个最基础的 Publish / Subscribe 程序
5.1 完整代码示例
5.2 编译和运行
使用 Maven
使用 IDE
5.3 调试和日志建议
启用详细日志
观察连接状态
6. 实际项目中应用时的建议与注意事项(结合 IoT / 智能硬件背景)
6.1 设备 / 边缘设备 / 轻量客户端
6.2 资源受限设备 / 简单脚本 / 测试脚本
6.3 QoS 选择建议
6.4 连接稳定性保障
心跳配置
异常处理
6.5 持久化选择
内存持久化(MemoryPersistence)
文件持久化(MqttDefaultFilePersistence)
6.6 避免不必要的依赖
6.7 性能优化建议
批量操作
线程池共享
合理配置飞行窗口
⏰ 结语
🔦 参考资料