在学习C++百万并发网络通信引擎架构这个项目时,看到了董哥的黑板报整理的笔记,感觉很受用,在学习过程中可以及时对照检查自己的问题,但该笔记仅更新到智能指针章节,因此我计划将后续部分的笔记继续更新一下,希望对同在做该项目的朋友起到一点小小的帮助~
项目概述
学习用C++开发具有百万级处理能力的服务端、客户端通信技术,掌握主流平台下使用C++ TCP进行网络通信,学习select、IOCP、epoll网络通信,学习主流游戏引擎中使用C++ TCP与服务端通信,学习多平台C++程序的编码/调试/发布,学习服务器开发性能优化技巧。项目包含:高频并发、多线程、多进程、线程池、内存池、软件硬件瓶颈、如何测试优化网络处理能力等技术知识。
项目笔记
项目(百万并发网络通信架构)1—Windows下Tcp Socket的基本结构(客户端、服务端)
项目(百万并发网络通信架构)3—将服务端、客户端升级为select模型
项目(百万并发网络通信架构)5.1—将客户端代码进行跨平台移植(Windows、Unix)
项目(百万并发网络通信架构)5.2—将服务端代码进行跨平台移植(Windows、Unix)
项目(百万并发网络通信架构)6.1—将客户端封装为class
项目(百万并发网络通信架构)6.2—将服务端端封装为class
项目(百万并发网络通信架构)7.1—客户端与服务端的粘包现象演示(网络缓冲区)
项目(百万并发网络通信架构)7.2—解决客户端粘包现象(设置接收缓冲区)
项目(百万并发网络通信架构)7.3—解决服务端粘包现象(设置接收缓冲区)
项目(百万并发网络通信架构)7.4—客户端与服务端间的总体黏包测试及跨平台测试
项目(百万并发网络通信架构)7.5—突破Windows select64限制
项目(百万并发网络通信架构)8—为服务器添加高精度计时器,测量数据处理能力
项目(百万并发网络通信架构)9.1—设计多线程客户端测试程序,分组高频发送数据
项目(百万并发网络通信架构)9.2—单线程服务端的性能分析(使用VS Studio性能探测器)
项目(百万并发网络通信架构)9.3—将服务端改造为多线程(生产者-消费者模式)
项目(百万并发网络通信架构)9.4—多线程客户端服务端最终代码测试
项目(百万并发网络通信架构)10.1—服务端select的性能瓶颈与优化
项目(百万并发网络通信架构)10.2—recv()函数的极限测试
项目(百万并发网络通信架构)10.3—send()函数的极限测试
项目(百万并发网络通信架构)10.4—服务端数据收发的性能瓶颈
项目(百万并发网络通信架构)11.1—修改数据接收缓冲区、新增数据发送缓冲区
项目(百万并发网络通信架构)11.2—将消息的接收与发送分离