学习地址在牛客
C++高并发服务器
- 第1章、Linux系统编程入门(点此进入)
- 1.1 Linux开发环境搭建
- 1.2 GCC(1)
- 1.3 GCC(2)
- 1.4 静态库的制作
- 1.5 静态库的使用
- 1.6 动态库的制作和使用
- 1.7 动态库加载失败的原因
- 1.8 解决动态库加载失败问题
- 1.9 静态库和动态库的对比
- 1.10 Makefile(1)
- 1.11 Makefile(2)
- 1.12 Makefile(3)
- 1.13 GDB调试(1)
- 1.14 GDB调试(2)
- 1.15 GDB调试(3)
- 1.16 GDB调试(4)
- 1.17 标准C库IO函数和Linux系统IO函数对比
- 1.18 虚拟地址空间
- 1.19 文件描述符
- 1.20 open打开文件
- 1.21 open创建新文件
- 1.22 read、write函数
- 1.23 lseek函数
- 1.24 stat、lstat函数
- 1.25 模拟实现 ls -l 命令
- 1.26 文件属性操作函数
- 1.27 目录操作函数
- 1.28 目录遍历函数
- 1.29 dup、dup2函数
- 1.30 fcntl函数
- 第2章、Linux多进程开发(点此进入)
- 2.1 进程概述
- 2.2 进程状态转换
- 2.3 进程创建
- 2.4 父子进程虚拟地址空间情况
- 2.5 父子进程关系及GDB多进程调试
- 2.6 exec函数族
- 2.7 进程退出、孤儿进程、僵尸进程
- 2.8 wait 函数
- 2.9 waitpid 函数
- 2.10 进程间通信简介
- 2.11 匿名管道概述
- 2.12 父子进程通过匿名管道通信
- 2.13 匿名管道通信案例
- 2.14 管道的读写特点和管道设置为非阻塞
- 2.15 有名管道介绍及使用
- 2.16 有名管道实现简单版聊天功能
- 2.17 内存映射(1)
- 2.18 内存映射(2)
- 2.19 信号概述
- 2.20 kill、raise、abort函数
- 2.21 alarm 函数
- 2.22 setitimer 定时器函数
- 2.23 signal 信号捕捉函数
- 2.24 信号集及相关函数
- 2.25 sigprocmask 函数使用
- 2.26 sigaction 信号捕捉函数
- 2.27 SIGCHLD 信号
- 2.28 共享内存(1)
- 2.29 共享内存(2)
- 2.30 守护进程(1)
- 2.31 守护进程(2)
- 第3章、Linux多线程开发(点此进入)
- 第4章、Linux网络编程(点此进入)
- 4.1 网络结构模式
- 4.2 MAC地址、IP地址、端口(1)
- 4.3 MAC地址、IP地址、端口(2)
- 4.4 网络模型
- 4.5 协议
- 4.6 网络通信的过程(1)
- 4.7 网络通信的过程(2)
- 4.8 socket 介绍
- 4.9 字节序
- 4.10 字节序转换函数
- 4.11 socket 地址
- 4.12 IP 地址转换函数
- 4.13 TCP 通信流程
- 4.14 socket 函数
- 4.15 TCP通信实现(服务器端)
- 4.16 TCP通信实现(客户端)
- 4.17 TCP三次握手
- 4.18 滑动窗口
- 4.19 TCP四次挥手
- 4.20 多进程实现并发服务器(1)
- 4.21 多进程实现并发服务器(2)
- 4.22 多线程实现并发服务器
- 4.23 TCP状态转换
- 4.24 半关闭、端口复用
- 4.25 IO多路复用简介
- 4.26 select API介绍
- 4.27 select代码编写
- 4.28 poll API介绍及代码编写
- 4.29 epoll API介绍
- 4.30 epoll 代码编写
- 4.31 epoll的两种工作模式
- 4.32 UDP通信实现
- 4.33 广播
- 4.34 组播
- 4.35 本地套接字通信
- 第5章、项目实战与总结(点此进入)
- 第六章、自我补充(点此进入)