C语言网络编程实战100例
📚 共计 30 章节
01
网络基础与TCP/IP协议栈
OSI七层模型、TCP/IP四层模型、数据封装与解封装、IP地址与端口号
基础
协议
02
Socket编程入门
Socket概念、流式与数据报类型、编程流程、常用API函数
入门
API
03
TCP客户端与服务端
三次握手与四次挥手、bind/listen/accept/connect、回射服务器
TCP
回射
04
UDP通信实战
UDP特点、sendto/recvfrom、广播与组播、丢包处理
UDP
组播
05
多进程并发服务器
fork()创建子进程、孤儿/僵尸进程、SIGCHLD、多进程模型
进程
并发
06
多线程并发服务器
pthread_create、互斥锁/条件变量、线程池、多线程模型
线程
同步
07
I/O多路复用(select)
select原理、fd_set操作、优缺点、select服务器实现
select
多路复用
08
I/O多路复用(poll)
poll原理、pollfd结构体、与select对比、poll服务器实现
poll
事件
09
I/O多路复用(epoll)
epoll_create/ctl/wait、LT/ET模式、事件驱动、epoll服务器
epoll
高性能
10
Reactor模式与Libevent
Reactor设计、事件循环、Libevent入门、基于Libevent的HTTP服务器
Reactor
Libevent
11
非阻塞I/O与异步I/O
fcntl非阻塞、非阻塞connect、AIO、I/O模型对比总结
非阻塞
AIO
12
高级Socket选项
setsockopt/getsockopt、SO_REUSEADDR、TCP_NODELAY、SO_LINGER、Keep-Alive
选项
调优
13
域名解析与地址转换
gethostbyname、getaddrinfo、inet_pton/inet_ntop、DNS解析实战
DNS
地址
14
原始套接字与数据包捕获
原始套接字、IP/TCP头构造、libpcap入门、抓包程序
原始套接字
抓包
15
HTTP协议解析与实现
请求/响应格式、状态码、简单HTTP服务器、CGI程序
HTTP
服务器
16
WebSocket协议实战
WebSocket握手、数据帧格式、服务器实现、聊天室应用
WebSocket
实时
17
SSL/TLS安全通信
OpenSSL入门、SSL握手、证书生成、HTTPS服务器实现
SSL
安全
18
Unix域套接字
Unix域流式/数据报、socketpair、本地进程间通信
IPC
本地
19
网络超时处理
alarm超时、select超时、setsockopt超时、SO_RCVTIMEO/SO_SNDTIMEO
超时
可靠
20
广播与组播编程
广播地址、setsockopt广播、IGMP协议、组播编程
广播
组播
21
P2P网络编程
NAT穿透、UDP/TCP打洞、P2P文件传输
P2P
NAT
22
网络性能优化
零拷贝(sendfile/splice)、TCP窗口调优、Nagle算法、C10K问题
性能
零拷贝
23
序列化与网络协议设计
TLV格式、Protocol Buffers、JSON序列化、自定义协议
序列化
协议
24
网络编程调试与抓包
gdb调试、strace跟踪、tcpdump抓包、Wireshark分析
调试
抓包
25
高并发架构设计
事件驱动架构、协程网络编程、libco库、C++20协程
高并发
协程
26
分布式网络编程
RPC框架原理、Thrift入门、gRPC入门、服务发现与负载均衡
分布式
RPC
27
网络编程安全
缓冲区溢出防护、DoS/DDoS防御、输入验证、安全编码规范
安全
防御
28
物联网网络编程
MQTT协议、CoAP协议、MQTT服务器实现、传感器数据采集
IoT
MQTT
29
音视频网络传输
RTP/RTCP、RTMP、HLS协议、简单视频流服务器
音视频
流媒体
30
综合实战:高性能Web服务器
从零实现HTTP/1.1、WebSocket、静态文件、动态请求处理
综合
Web服务器