在网络越来越发达的今天,了解网络原理是每一个 IT 从业者的必修课。《TCP/IP网络编程》是网络编程领域不可多得的经典著作,本书通过实际的代码(c语言),由浅入深地讲解了网络套接字编程的基础内容。学习本书,可以更加深入地理解网络通信的原理,能自己写出功能强大的联网程序。
实话说,在持续数周的学习中,本书使我受益良多。本仓库是《TCP/IP网络编程》学习笔记以及代码实现。本仓库记录了书中包含的重要知识点,也包括书中大部分插图,这些插图对某些技术的理解有很大的帮助。
笔者目前使用Linux平台,因此本笔记只包括Linux部分。
如果本仓库对你有用,别忘了点一个star。
操作系统: Ubuntu 18.04.5 LTS
gcc 8.4.0 (Ubuntu 8.4.0-1ubuntu1~18.04)
g++ 8.4.0 (Ubuntu 8.4.0-1ubuntu1~18.04)
本项目的Github地址:TCP-IP-Network-Note。
如果在阅读本笔记的过程中发现 bug
,欢迎向本项目提交 PR
。
第 1 章 理解网络编程和套接字
第 2 章 套接字类型与协议设置
第 3 章 地址族与协议族
第 4 章 基于TCP的服务器端/客户端(1)
第 5 章 基于TCP的服务器端/客户端(2)
第 6 章 基于UDP的服务器端/客户端
第 7 章 优雅地断开套接字连接
第 8 章 域名及网络地址
第 9 章 套接字的多种可选项
第 10 章 多进程服务器端
第 11 章 进程间通信
第 12 章 I/O复用
第 13 章 多种I/O函数
第 14 章 多播与广播
第 15 章 套接字和标准I/O
第 16 章 关于I/O流分离的其他内容
第 17 章 优于select的epoll
第 18 章 多线程服务器端的实现
第 24 章 制作HTTP服务器端