技术栈
asio
钢铁小狗侠
1 个月前
服务器
·
c++
·
网络编程
·
asio
网络编程(18)——使用asio协程实现并发服务器
到目前为止,我们以及学习了单线程同步/异步服务器、多线程IOServicePool和多线程IOThreadPool模型,今天学习如何通过asio协程实现并发服务器。
钢铁小狗侠
1 个月前
服务器
·
c++
·
http
·
网络编程
·
asio
网络编程(21)——通过beast库快速实现http服务器
目录二十一、day211. 头文件和作用域重命名2. reponse时调用的一些函数3. http_connection
钢铁小狗侠
1 个月前
服务器
·
c++
·
单例模式
·
网络编程
·
asio
网络编程(19)——C++使用asio协程实现并发服务器
上一节学习了如果通过asio协程实现一个简单的并发服务器demo(官方案例),今天学习如何通过asio协程搭建一个比较完整的并发服务器。
钢铁小狗侠
1 个月前
服务器
·
c++
·
单例模式
·
网络编程
·
asio
网络编程(15)——服务器如何主动退出
服务器主动退出一直是服务器设计必须考虑的一个方向,旨在能通过捕获信号使服务器安全退出。我们可以通过asio提供的信号机制绑定回调函数即可实现优雅退出。
钢铁小狗侠
1 个月前
网络
·
c++
·
单例模式
·
网络编程
·
asio
网络编程(14)——基于单例模板实现的逻辑层
今天学习如何通过单例模板实现逻辑层和上一节设计的单例模板有些不同,本节设计的单例模板利用了以下四个C++11新特性,优化了代码
钢铁小狗侠
1 个月前
c++
·
单例模式
·
网络编程
·
asio
网络编程(17)——asio多线程模型IOThreadPool
之前我们介绍了IOServicePool的方式,一个IOServicePool开启n个线程和n个iocontext,每个线程内独立运行iocontext, 各个iocontext监听各自绑定的socket是否就绪,如果就绪就在各自线程里触发回调函数。为避免线程安全问题,我们将网络数据封装为逻辑包投递给逻辑系统,逻辑系统有一个单独线程处理,这样将网络IO和逻辑处理解耦合,极大的提高了服务器IO层面的吞吐率。
钢铁小狗侠
2 个月前
c++
·
json
·
网络编程
·
asio
网络编程(10)——json序列化
今天学习如何使用jsoncpp将json数据解析为c++对象,将c++对象序列化为json数据。jsoncp经常在网络通信中使用,也就是服务器和客户端的通信一般使用json(可视化好);而protobuf一般在服务器之间的通信中使用
qianbo_insist
7 个月前
组播
·
asio
简单使用asio发送组播包
直接使用asio库来发送,这样比较简单
weifengdq
8 个月前
can
·
asio
·
ch343
·
socketcan
·
vxcan
CH343 使用USB转串口发送CAN报文
早些年自动驾驶激光雷达还不支持PTP之类的时间同步, 很多都是用PPS时间同步, 激光雷达一般装的离控制器或者GNSS天线较远, 车上的线束一般数据电源各种都包在一起的, 如果3.3V直接从域控制器出, 信号将惨不忍睹, 为了解决长距离3.3V PPS传输受干扰的问题, 各种骚操作都整出来:
微软技术分享
1 年前
c语言
·
boost
·
visual c++
·
asio
19.8 Boost Asio 异或加密传输
异或加密是一种对称加密算法,通常用于加密二进制数据。异或操作的本质是对两个二进制数字进行比较,如果它们相同则返回0,如果不同则返回1。异或加密使用一把密钥将明文与密文进行异或运算,从而产生密文。同时,使用相同的密钥进行解密将返回原始的明文数据。在异或加密中,加密和解密使用的是相同的密钥。因此,它是一种对称加密算法。由于其简单性和效率,其经常用于嵌入式系统中。
Erice_s
1 年前
c++
·
asio
asio中的定时器steady_timer和deadline_timer
由于io_service并不会主动创建调度线程,需要我们手动分配,常见的方式是给其分配一个线程,然后执行run函数。但run函数在io事件完成后会退出,线程会终止,后续基于该对象的异步io任务无法得到调度。