vscode编译的多线程_Vscode mingw下opencv及多线程C++socket—Apple的学习笔记

这是一个使用Vscode、CMake和MinGW编译的C++项目,实现了通过TCP Socket协议在多线程环境下传输PNG图片数据,并在Server端用OpenCV显示。Server端包含按键控制功能,如s键暂停/恢复传输,j键开关图片显示。项目采用策略模式设计,未来计划优化通信协议、添加心跳包、分离显示线程、添加ROI显示和Logo、使用D-Bus和共享内存进行进程间通信、迁移至Linux平台并添加守护进程。
摘要由CSDN通过智能技术生成

目的:由于vslam都是用c++开发的,所以要多练习c++11,所以就自己设计项目来练手

立项:(适用于0.1版本)

名称:Display

功能:一个client将数据集中的png图片读取,通过tcp socket协议传输给server端显示。

其中特殊控制功能包括如下:

Server端的按键s是控制socket传输数据的开关,

按键j是控制是否将当前传输的图片数据实时显示的开关。

工具链:coding用Vscode,编译用CMake+MinGw8.1(环境搭建可以参考我之前的文章)

数据集:在client端是读取png的数据集

一,0.1版基本设计说明:

1.1 Server端:

1.1 Server端:

1.1.1主进程下有2个线程—一个是key按键扫描

另一个是server的socket通信传输数据及imshow显示图片。

1.1.2添加了锁,用于按钮s键暂停socket传输的功能,此时会挂起server线程。

当再次按s键后,在key线程中可以触发server线程唤醒。

1.1.3由于有特殊控制功能,所以添加了策略模式的设计。

可以选择不同的控制显示的方式。

1.2 client端:

用作配合server的测试code,忽略设计。

二,后续更新版本说明:

2.1优化client和server间的通信协议。添加crc校验及各类出错处理。

<
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值