前言0
个人高性能、高并发linux服务器端编程(网络编程)比较感兴趣,自己写过一些简单的tcp通信程序,用进程池实现简单CGI服务器,用线程池实现简单web服务器。熟悉c++编程语言,但是没有用c++参与过一个项目,所以想寻找一个开源项目,用c++自己实现一个相对完整的网络库,所以选择了muduo开源网络库作为学习的第一个系统。因为他的代码量比较小,书中提到了如何借助现成库来发挥C++的优势!如何解决网络编程中经常碰到的问题,书中又是如何巧妙的解决的!对于从头开始学习网络库的一步一步实现比较有帮助。
muduo网络库是一个基于非阻塞IO和事件驱动的现代c++网络库,支持one loop per thread IO模型和reator事件驱动模式。
这个项目是自己第一个比较完整的阅读和分析的开源项目,使我对linux 多线程linux c++网络编程的理解有醍醐灌顶的效果。在阅读源码的过程中,开始总是找不到思绪,弄不清系统脉络,像一个无头苍蝇到处乱飞,也由于在最近在找实习面试的不顺利导致心态也变的浮躁起来。最终,调整心态,慢慢进入状态,带着问题来看源码,效果非常好。 例如:对于一个网络库要解决的主要问题就是 1)监听连接,2)接入连接,3)处理读,写事件等。当然还有很多问题需要处理,比如断开连接的处理,读写缓冲区的实现等,这些问题可以一步一步来分析,将这些问题分开来看。
本系列文章将按照这种思路,深度剖析muduo源码。
muduo-源码分析(前言0)
最新推荐文章于 2022-10-12 17:58:16 发布