摘要:
Asio11-Json 与protobuf区别 我们上节的protobuf可以做序列化,那么我们为什么又要介绍json格式呢? 原因是,protobuf将信息转化成了二进制的格式,虽然速度快,效率高,可读性却不好。而采用json必然会导致转换效率低,好处是可读性好,也更简单。 一般情况下,proto 阅读全文
posted @ 2025-12-24 23:13
大胖熊哈
阅读(19)
评论(0)
推荐(0)
摘要:
Asio12-HandlePacketStickingProblemSimply 在Asio8中我们处理过粘包的问题,下面的部分的源码: void CSession::HandleRead(const boost::system::error_code& error, size_t bytes_tr 阅读全文
posted @ 2025-12-24 23:13
大胖熊哈
阅读(12)
评论(0)
推荐(0)
摘要:
Asio13-OptimizeTheStructure.md MsgNode 为了方便发送和接受,避免使用错误,我们将MsgNode重新设计,派生出了RecvNode和SendNode,分别用于读取和发送. 基类的MsgNode用于接受头节点,一般情况下设置内部的缓冲区大小为4字节(我们为了方便管理 阅读全文
posted @ 2025-12-24 23:13
大胖熊哈
阅读(15)
评论(0)
推荐(0)
摘要:
Asio14-ImplementLogicSystem.md 单例逻辑类 因为我们的逻辑层一般是单线程(如果多线程,那么在处理资源的情况下,需要对共享资源加锁,更复杂),因此我们实现一个单例模板类,后期可能有其他也需要单例. 首先是一个单例的模板类. #pragma once #include <i 阅读全文
posted @ 2025-12-24 23:13
大胖熊哈
阅读(14)
评论(0)
推荐(0)
摘要:
Asio15-QuitGracefully.md 服务器优雅退出一直是服务器设计必须考虑的一个方向,意在能通过捕获信号使服务器安全退出。我们可以通过asio提供的信号机制绑定回调函数即可实现优雅退出。在主函数中我们添加 int main() { try { boost::asio::io_conte 阅读全文
posted @ 2025-12-24 23:13
大胖熊哈
阅读(19)
评论(0)
推荐(0)
摘要:
Asio16-MultiThreadServicesPool.md 前面的设计,我们对asio的使用都是单线程模式,为了提升网络io并发处理的效率,这一次我们设计多线程模式下asio的使用方式。总体来说asio有两个多线程模型,第一个是启动多个线程,每个线程管理一个iocontext。第二种是只启动 阅读全文
posted @ 2025-12-24 23:13
大胖熊哈
阅读(14)
评论(0)
推荐(0)
摘要:
Asio17-MultiThreadPool.md 区别 Asio-16也是一种多线程模式,那么他跟这一节有什么区别呢? 简单而言,上一节的结构是,n个线程,每个线程一个io_context在运行,相当于底层多个epoll.这一节呢,也是n个线程,但是只有1个线程有io_context在run,底层 阅读全文
posted @ 2025-12-24 23:13
大胖熊哈
阅读(18)
评论(0)
推荐(0)
摘要:
Asio18-Coroutine 什么是协程 简单来说,协程是一个可以暂停执行和恢复执行的函数. 普通函数:调用 → 一直执行到 return 或函数结束 → 返回调用点。调用一次,执行一次,执行完毕后就“烟消云散”,所有局部状态都销毁了。 协程:调用 → 执行到某个点可以暂停(挂起) → 将执行权 阅读全文
posted @ 2025-12-24 23:13
大胖熊哈
阅读(28)
评论(0)
推荐(0)
摘要:
Asio19-CoroutineServer 书接上节,我们要利用协程重构之前的服务器代码. 实际上改动并不大,对于写而言,比较简单,即使回调也比较少,没有改用协程.我们主要在读的时候使用了协程. void Session::Start() { boost::asio::co_spawn(_io_c 阅读全文
posted @ 2025-12-24 23:13
大胖熊哈
阅读(17)
评论(0)
推荐(0)
摘要:
Asio20-BeastServer HttpApi // 创建请求 http::request<http::string_body> req; req.method(http::verb::get); // 设置方法: get, post, put, delete req.target("/api 阅读全文
posted @ 2025-12-24 23:13
大胖熊哈
阅读(26)
评论(0)
推荐(0)

浙公网安备 33010602011771号