^-^
我在想,时下你所需要的,应该是痛痛快快换个心情,干干脆脆享受人生。
Linux 服务器编程入门尝试 - C++
  1. 零、前言
  2. 一、从socket开始
    1. 1.1 服务端干了什么
    2. 1.2 客户端如何配合
    3. 1.3 该节涉及函数及源代码
  3. 二、完善代码,数据读写
    1. 2.1 错误检查处理函数
    2. 2.2 数据读写
    3. 2.3 该节涉及函数及源代码
  4. 三、高并发使用epoll
    1. 3.1 从select、poll到epoll
    2. 3.2 将服务器改写成epoll版本
  5. 四、封装成类,程序模块化
    1. 4.1 将socket和InetAddress封装成类
    2. 4.2 将epoll封装成类
    3. 4.3 目录结构及源代码
  6. 五、向着Reactor模式转变
    1. 5.1 Reactor和Proactor
    2. 5.2 加入Channel类
    3. 5.3 加入EventLoop类
    4. 5.4 加入Server类
  7. 六、把服务器的接受抽象化
    1. 6.1 抽象化接受
    2. 6.2 Acceptor 类
  8. 七、把TCP连接抽象化
    1. 7.1 抽象化连接
    2. 7.2 Connection 类
    3. 7.3 改写 Server 类
  9. 八、闲来无事,整个缓冲区
    1. 8.1 引入缓冲区
    2. 8.2 Buffer类
    3. 8.3 其他方面的改进
  10. 九、线程池啊线程池
    1. 9.1 为什么加入线程池
    2. 9.2 如何设计线程池
    3. 9.3 线程池用到的语法知识
    4. 9.4 线程池类
  11. 十、有了线程池之后的考虑
    1. 10.1 完善线程池
    2. 10.2 完善线程池用到的语法知识
    3. 10.3 再修修补补
  12. 十一、改写成主从Reactor多线程模式
    1. 11.1 什么是主从Reactor多线程模式
    2. 11.2 代码上的变化
  13. 十二、项目工程化
    1. 12.1 认识Cmake
    2. 12.2 工程化的实际操作
  14. 十三、业务逻辑自定义化
    1. 13.1 业务逻辑思想
    2. 13.2 操刀动代码
  15. 十四、再次重构,告一段落
    1. 14.1 重构思想
    2. 14.2 加入.clang-fromat
    3. 14.3 设计宏定义(Common.h)
    4. 14.4 重构Socket类
    5. 14.4 小改Channel类和Epoll类
    6. 14.5 小改EventLoop类
    7. 14.6 小改Acceptor类
    8. 14.7 小改Connection类
    9. 14.8 重头戏Server类
  16. 附录
    1. 附 1 - 代码运行环境
    2. 附 2 - CMake的安装和使用
      1. 附 2.1 检查远程的CMake环境和编译环境
      2. 附 2.2 Visual Studio 2022中使用CMake进行远程Linux服务器开发
      3. 附 2.2 Visual Studio 2022中使用CMake进行WSL开发
      4. 附 2.3 CMake相关资料
    3. 附 3 - 可能出现的问题