- 博客(35)
- 收藏
- 关注
原创 win上编译带ssl的paho-cpp库
注意:使用cpp库时,依赖c库,所以使用时把c库的lib放在cpp的lib目录下。该脚本虽然没有显式指定 SSL 路径,但 CMake 会通过。
2026-06-16 15:14:22
151
原创 MQTT mTLS方案(双向SSL/TLS)
✔ server 证书(带 SAN:localhost / 127.0.0.1 / 你的IP)连接至: ssl://192.168.72.132:8883 (ID: xiong_9663)连接至: ssl://192.168.72.132:8883 (ID: xiong_7782)3.查看证书内容(检查 CN / SAN)4.❌ 不带客户端证书(应该失败)2、TLS握手测试(不带MQTT)5.✅ 带客户端证书(应该成功)6.检查私钥是否可用(防损坏)3、MQTT 层测试(*)订阅测试(先开一个终端)
2026-04-15 14:57:46
359
原创 ROS2性能调优指南--高吞吐低延迟的数据中枢
在高性能通信系统中,自定义消息类型能显著减少冗余数据,提升传输效率。通过精简字段结构和选择高效的序列化协议,可大幅降低序列化开销。
2026-02-09 16:27:02
832
原创 emqx持久化 Docker 容器中生成的数据并打包新镜像,迁移至新机器运行
1、初始化运行脚本emqx.sh(运行后已经在镜像部署装载了一系列数据,包含更改密码)先copy持久化的数据目录和镜像压缩包。3、新机器上加载原机器上打包的新镜像。2、原机器上打包新镜像。
2026-01-30 11:38:06
140
原创 排查ROS2项目中两个docker容器之间是否使用共享内存
共享内存传输允许运行在同一主机上的进程共享内存区域以实现零拷贝通信。除非共享进程间通信(IPC)命名空间,否则它不能跨主机或容器共享。一般是根据 Domain ID + Participant GUID + Topic GUID + 其它内部信息 生成的。文件名是 FastDDS(rmw_fastrtps)在创建共享内存 segment 时自动生成的,1、目前只能证明容器自己用到共享内存,无法证明/验证跨容器是否用到共享内存。固定前缀,标识这是 FastDDS 为共享内存创建的 segment。
2026-01-29 17:15:44
923
原创 mqtt笔记
1、更新系统2、安装 Mosquitto Broker + 客户端mosquitto:MQTT 服务器:命令行测试工具(3、启动并设置开机自启检查状态:看到就说明成功了。4、本地快速测试(强烈建议你做)终端 1:订阅终端 2:发布👉 终端 1 能看到hello mqtt,说明 MQTT 正常。1、编辑配置文件最小可用配置():⚠️ 生产环境保存后重启:2、开放防火墙(如果你开了 ufw)1、创建密码文件。
2026-01-14 14:09:23
339
原创 ubuntu上一键安装vscode/无法输入中文的原因以及解决方法
乌班图的VScode无法用中文输入(体现为会吞字母),大概率是因为我们在安装VScode时安装了精简版的VS Code,想要解决该问题就得先卸载已有的Snap版本VS Code,然后重新安装完整的Deb包版本。这个方法安装后无法切换中文输入法!
2025-11-25 09:59:17
371
原创 Linux硬盘分区
→ 拖动或输入扩展容量(比如从 62.9G 调整到 512G)→ 查看是否有未分配空间(Unallocated)应用操作 → 系统会扩展分区。5、点击左上角绿色对号。
2025-05-13 10:56:46
462
原创 FFmpeg4/5/6/7入门教程3:解码视频流过程
视频共计6分32秒,帧率为24帧/秒,那么视频的视频帧数为:(6 * 60 + 32.89 ) * 23.98 = 9421.5022。考虑到执行误差,两者非常接近,没有太大的错误。FFmpeg使用较多的就是解码视频了,我们先进行正常的解码流程。根据输出,在视频流里面统计每一帧,共计9420帧。
2024-07-18 16:03:59
517
原创 VS Qt与Qt Creator项目相互转换的方法
在vs qt插件里点击Create Basic.pro file生成pro文件,再用QtCreator打开.pro文件即可。将qmake.exe所在的目录到系统path,32位C:\Qt\5.15.2\msvc2019\bin。关闭cmd窗口,找到cl.exe路径配置到系统path,再次打开cmd转换。如果是64位,C:\Qt\5.15.2\msvc2019_64\bin。一、Qt Creator项目转VS Qt。二、VS Qt转Qt Creator。生成 .vcxproj。
2024-06-27 16:10:29
793
原创 ubuntu 20.04安装(升级)cmake
访问源码包列表链接,可以选择我们指定的版本下载安装。通过源码安装,我们可以安装指定版本的。解压后,会在当前路径下生成一个。如果看到版本号,表示安装成功!如果输出如下,表示未安装。命令无法卸载源码安装的。并不能满足我们的需求。,需要进入到安装时执行。
2023-09-08 18:13:13
2817
2
原创 ubuntu22.04下编译ffmpeg-6.0,并且激活x264编码功能。记录一下踩坑(ERROR: x264 not found using pkg-config)
在/usr/local/x264/lib/pkgconfig/下有一个x264.pc文件,将它移动到/usr/share/pkgconfig下【pkg-config会搜索这个路径下的.pc文件】如果不指定,默认安装在/usr/local下。如果使用prefix指定了以上路径,一定要进行以下操作,否则编译ffmpeg时会出上述问题。在末尾加上:export PATH=$PATH:/usr/local/x264/bin。然后执行:source /etc/profile。
2023-09-08 17:19:27
1773
4
原创 Qt + ffmpeg环境配置
macx:LIBS+=-L$$PWD/../../../下载/ffmpeg-4.4/build/FFmpeg/lib/-lavcodec-lavdevice-lavfilter-lavformat-lavutil-lswresample-lswscale。INCLUDEPATH+=$$PWD/../../../下载/ffmpeg-4.4/build/FFmpeg/include。在.pro文件中导入ffmpeg库。
2023-09-08 17:15:11
604
1
原创 C/C++ 内存泄漏-原因、避免以及定位
作为C/C++开发人员,内存泄漏是最容易遇到的问题之一,这是由C/C++语言的特性引起的。C/C++语言与其他语言不同,需要开发者去申请和释放内存,即需要开发者去管理内存,如果内存使用不当,就容易造成段错误(segment fault)或者内存泄漏(memory leak)。今天,借助此文,分析下项目中经常遇到的导致内存泄漏的原因,以及如何避免和定位内存泄漏。主要内容如下:C/C++语言中,内存的分配与回收都是由开发人员在编写代码时主动完成的,好处是内存管理的开销较小,程序拥有更高的
2022-05-31 16:51:47
11759
6
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅