摘要:
Chap1-LoginScreen 简介 本项目为C++全栈聊天项目实战,包括PC端QT界面编程,asio异步服务器设计,beast网络库搭建http网关,nodejs搭建验证服务,各服务间用grpc通信,server和client用asio通信等,也包括用户信息的录入等。实现跨平台设计,先设计wi 阅读全文
posted @ 2025-12-24 23:16
大胖熊哈
阅读(3)
评论(0)
推荐(0)
摘要:
Asio8-PacketStickingProblem 粘包问题 分析 粘包问题是指在使用TCP协议进行网络通信时,发送方发送的多个数据包在接收方接收时被"粘"在一起,形成一个大的数据包的现象。这不是TCP协议的bug,而是TCP作为流式协议的固有特性。 发送方: [包1][包2][包3] 接收方: 阅读全文
posted @ 2025-12-24 23:13
大胖熊哈
阅读(6)
评论(0)
推荐(0)
摘要:
Asio9-SendQueueAndEndian 底层的发送流程 字节序问题 计算机内部存储数据的方式有两种:大端序(Big-Endian)和小端序(Little-Endian)。在大端序中,高位字节存储在低地址处,而低位字节存储在高地址处;在小端序中,高位字节存储在高地址处,而低位字节存储在低地址 阅读全文
posted @ 2025-12-24 23:13
大胖熊哈
阅读(3)
评论(0)
推荐(0)
摘要:
Asio11-Json 与protobuf区别 我们上节的protobuf可以做序列化,那么我们为什么又要介绍json格式呢? 原因是,protobuf将信息转化成了二进制的格式,虽然速度快,效率高,可读性却不好。而采用json必然会导致转换效率低,好处是可读性好,也更简单。 一般情况下,proto 阅读全文
posted @ 2025-12-24 23:13
大胖熊哈
阅读(8)
评论(0)
推荐(0)
摘要:
Asio12-HandlePacketStickingProblemSimply 在Asio8中我们处理过粘包的问题,下面的部分的源码: void CSession::HandleRead(const boost::system::error_code& error, size_t bytes_tr 阅读全文
posted @ 2025-12-24 23:13
大胖熊哈
阅读(3)
评论(0)
推荐(0)
摘要:
Asio13-OptimizeTheStructure.md MsgNode 为了方便发送和接受,避免使用错误,我们将MsgNode重新设计,派生出了RecvNode和SendNode,分别用于读取和发送. 基类的MsgNode用于接受头节点,一般情况下设置内部的缓冲区大小为4字节(我们为了方便管理 阅读全文
posted @ 2025-12-24 23:13
大胖熊哈
阅读(4)
评论(0)
推荐(0)
摘要:
Asio14-ImplementLogicSystem.md 单例逻辑类 因为我们的逻辑层一般是单线程(如果多线程,那么在处理资源的情况下,需要对共享资源加锁,更复杂),因此我们实现一个单例模板类,后期可能有其他也需要单例. 首先是一个单例的模板类. #pragma once #include <i 阅读全文
posted @ 2025-12-24 23:13
大胖熊哈
阅读(4)
评论(0)
推荐(0)
摘要:
Asio15-QuitGracefully.md 服务器优雅退出一直是服务器设计必须考虑的一个方向,意在能通过捕获信号使服务器安全退出。我们可以通过asio提供的信号机制绑定回调函数即可实现优雅退出。在主函数中我们添加 int main() { try { boost::asio::io_conte 阅读全文
posted @ 2025-12-24 23:13
大胖熊哈
阅读(5)
评论(0)
推荐(0)
摘要:
Asio16-MultiThreadServicesPool.md 前面的设计,我们对asio的使用都是单线程模式,为了提升网络io并发处理的效率,这一次我们设计多线程模式下asio的使用方式。总体来说asio有两个多线程模型,第一个是启动多个线程,每个线程管理一个iocontext。第二种是只启动 阅读全文
posted @ 2025-12-24 23:13
大胖熊哈
阅读(7)
评论(0)
推荐(0)
摘要:
Asio17-MultiThreadPool.md 区别 Asio-16也是一种多线程模式,那么他跟这一节有什么区别呢? 简单而言,上一节的结构是,n个线程,每个线程一个io_context在运行,相当于底层多个epoll.这一节呢,也是n个线程,但是只有1个线程有io_context在run,底层 阅读全文
posted @ 2025-12-24 23:13
大胖熊哈
阅读(5)
评论(0)
推荐(0)

浙公网安备 33010602011771号