![](https://img-blog.csdnimg.cn/20190918135101160.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
muduo net库源码分析
文章平均质量分 91
muduo net库源码分析
爱好学习的青年人
学习学习再学习
展开
-
muduo网络库源码详解(4) 以EchoServer为例子,从一次连接的建立说起,分析TcpConnection
muduo网络库源码详解(4) 以EchoServer为例子,从一次连接的建立说起,分析TcpConnection主要参考了陈硕的书《Linux多线程服务端编程》,结合自己的逻辑摘了一些重要的的句子和函数、数据成员进行分析。EchoServer的main函数代码int main(){ muduo::net::EventLoop loop; // 构造一个loop muduo::net::InetAddress listenAddr(8888); // sockaddr_in的封装,服务原创 2021-12-22 22:29:20 · 672 阅读 · 0 评论 -
muduo网络库源码详解(3) 分析muduo的EventLoopThreadPool的多线程机制
muduo网络库源码详解(3) 分析muduo的EventLoopThreadPool的多线程机制主要参考了陈硕的书《Linux多线程服务端编程》,结合自己的逻辑摘了一些重要的的句子和函数、数据成员进行分析,本文代码用C++11的多线程机制改写了muduo,没用muduo的base库,但原理都是一样的。EchoServer的主函数int main(){ muduo::net::EventLoop loop; // 构造一个loop muduo::net::InetAddress li原创 2021-12-22 14:33:35 · 412 阅读 · 0 评论 -
muduo网络库源码详解(2) —— 以EchoServer为例子,从TcpServer的初始化说起
muduo网络库源码详解(2) 以EchoServer为例子,从TcpServer的初始化说起主要参考了陈硕的书《Linux多线程服务端编程》,结合自己的逻辑摘了一些重要的的句子和函数、数据成员进行分析。如下一个简单的EchoServer的启动流程,以它为例子讲解muduo的流程构造一个EventLoop —— 作为mainloop构造一个InetAddress —— sockaddr_in的封装EchoServer 的初始化 —— (TcpServer的初始化、构造函数里 手原创 2021-12-19 18:58:44 · 1036 阅读 · 0 评论 -
muduo网络库源码分析(1) —— Reactor的关键结构
主要参考了陈硕的书《Linux多线程服务端编程》,结合自己的理解摘了一些重要的的句子和函数、数据成员进行分析。使用的代码自己用C++11抄了一个muduo库,简单版本,文章的代码删除了所有的Log和assert。TCP网络编程最本质是的处理三个半事件连接建立:服务器accept(被动)接受连接,客户端connect(主动)发起连接连接断开:主动断开(close、shutdown),被动断开(read返回0)消息到达:文件描述符可读消息发送完毕:这算半个。对于低流量的服务,可不必关心这个事件;原创 2021-12-18 16:21:34 · 677 阅读 · 0 评论