自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(6)
  • 收藏
  • 关注

原创 【应用层协议】从C++的角度切入MQTT

MQTT是一种轻量级消息协议,专为不稳定网络环境设计。采用发布/订阅模式,支持多级服务质量(QoS 0-2),具有低功耗优化、网络适应性和安全性等特点。文章介绍了MQTT的核心概念,包括Broker代理与客户端组成,并对比了EMQX、Mosquitto等开源Broker的特性。通过C++示例代码展示了使用Paho库搭建MQTT客户端的完整流程,包含连接配置、主题订阅和消息发布等关键操作。该协议适用于物联网等需要高效通信的场景,开发者可根据需求选择合适的Broker实现。

2025-06-05 17:10:12 344

原创 【超简单】配置免密登录Linux服务器以及异常解决方案

手把手教学配置免密登录Linux服务器,以及无法免密登录时的异常排查思路与解决方案

2025-05-23 09:47:31 228

原创 【C++11】使用std::condition_variable灵活控制线程启停

C++11中的std::condition_variable是用于线程同步的重要工具,通常与std::mutex和std::unique_lock配合使用,确保线程安全。它通过wait、notify_one和notify_all等接口实现线程的等待和唤醒,广泛应用于生产者-消费者模型、定时任务调度等场景。使用条件变量时,需注意避免虚假唤醒、错误锁类型、未保护共享条件等常见陷阱。此外,C++20提供了更简单的线程同步工具如std::atomic和std::counting_semaphore,可作为替代方案。

2025-05-15 22:50:09 895

原创 【C++17】使用std::optional优雅的定义函数返回值

众所周知,我们经常会用到带返回值的函数,并且需要利用到返回值做逻辑判断,但仅对返回值做逻辑判断,多数情况下不便于同时函数执行结果与函数的状态。例如返回null值,返回错误值,返回正确值。只能表示一个“有值”或“无值”状态,并不能直接用于表示指针的“空指针”或其他“无效”的指针情况。,来优雅的处理此情况,直接表达「有值」或「无值」的意图,避免魔数(如 -1、nullptr)。:当函数返回一个可能没有值的结果时,传统做法是返回一些哨兵值(如。明确表示返回的值要么有效(包含一个值),要么无效(没有值)。

2025-04-30 17:22:12 507

原创 【1000字总结MySQL】 MySQL操作指南(速查手册)

【代码】【1000字总结MySQL】 MySQL命令查询手册。

2025-04-21 15:32:36 227

原创 【问题已解决】 关于vscode remote-ssh报错远程主机不满足VSCode服务器的先决条件的问题解决方案

vscode v1.98.2下载链接:https://update.code.visualstudio.com/1.98.2/win32-x64-user/stable。简言之,此问题就是vscode的版本过新,然后远端服务器的glibc以及libstdc++版本过低。我出现这种情况的版本。下载后,在无网情况下进行更新,会直接覆盖电脑上的vscode不会影响相关配置文件。,这个版本已经放弃对glibc <2.28的支持,所以我们只能去回退。若远端服务器无外网,回退vscode版本,我的vscode版本为。

2025-04-14 10:15:34 3622 2

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除