Asio源码分析
文章平均质量分 92
海将河推走
这个作者很懒,什么都没留下…
展开
-
Asio源码分析(3):使用epoll实现Proactor模式(1)
使用epoll实现Proactor模式(1)文章目录使用epoll实现Proactor模式(1)Proactor设计模式使用Reactor模拟ProactorAsio函数调用过程参考下面是一段Asio中典型的代码(忽略错误处理和tcp消息边界相关问题):#include <iostream>#include "asio.hpp"char read_buf[4096];int main() { asio::io_context ctx; asio::ip::tcp原创 2021-08-02 21:25:14 · 1303 阅读 · 0 评论 -
Asio源码分析(2):Asio用到的C++技巧和优化
Asio源码分析(2):Asio用到的C++技巧和优化文章目录Asio源码分析(2):Asio用到的C++技巧和优化使用析构函数执行清理操作使用模板元编程模拟概念使用对象池避免对象频繁地创建和销毁使用函数指针和继承实现多态使用继承共享数据而不是实现多态(虚函数)参考Asio中用到了一些C++技巧和优化,第一次阅读源码时可能会有一些困惑(confuse)。这篇文章先简单介绍其中的一小部分,方便后面的分析。使用析构函数执行清理操作Asio使用对象的析构函数在作用域结束时执行一些清理操作,有点类似于Go语原创 2021-07-27 11:09:22 · 1422 阅读 · 0 评论 -
Asio源码分析(1):概述
Asio源码分析(1):概述文章目录Asio源码分析(1):概述Proactor和Reactor设计模式参考Asio是一个跨平台的C++网络库,目前它的一部分已经成为了C++ Networking TS(C++ Technical specifications),并有望加入到C++23。从Asio将并入标准库这一点来看,它应该是一个不错的网络库,有一定的学习价值。这是Asio源码分析系类文章的第一篇,这个系列要解决的问题主要有:Asio的源码用到了哪些C++技巧,做了哪些优化?在Linux下,A原创 2021-07-26 11:27:20 · 1924 阅读 · 0 评论