为了学习 Go 网络编程,将《TCP/IP网络编程》中 C 语言实现的功能用 Go 语言重新实现一遍。
其中 C 代码由 riba2534/TCP-IP-NetworkNote 仓库提供。
如果在阅读本笔记的过程中发现错别字,及 bug ,请向本项目提交 PR。
目录 | C | Go |
---|---|---|
ch01 | 理解网络编程和套接字 | 理解网络编程和套接字 |
ch02 | 套接字类型与协议设置 | 套接字类型与协议设置 |
ch03 | 地址族与数据序列 | 地址族与数据序列 |
ch04 | 基于TCP的服务端/客户端(1) | 基于TCP的服务端/客户端(1) |
ch05 | 基于TCP的服务端/客户端(2) | 基于TCP的服务端/客户端(2) |
ch06 | 基于UDP的服务端/客户端 | 基于UDP的服务端/客户端 |
ch07 | 优雅地断开套接字的连接 | 优雅地断开套接字的连接 |
ch08 | 域名及网络地址 | 域名及网络地址 |
ch09 | 套接字的多种可选项 | 套接字的多种可选项 |
ch10 | 多进程服务器端 | 多进程服务器端 |
ch11 | 进程间通信 | 进程间通信 |
ch12 | I/O复用 | I/O复用 |
ch13 | 多种I/O函数 | 多种I/O函数 |
ch14 | 多播与广播 | 多播与广播 |
ch15 | 套接字和标准I/O | 套接字和标准I/O |
ch16 | 关于I/O流分离的其他内容 | 关于I/O流分离的其他内容 |
ch17 | 优于select的epoll | I/O多路复用netpoller模型 |
ch18 | 多线程服务器端的实现 | 多协程服务器端的实现 |
ch24 | 制作HTTP服务器端 | 制作HTTP服务器端 |
文件尺寸大于 50MB,超过 Github 上传限制,使用 git-lfs 上传。
sudo apt install git-lfs
git lfs install
git lfs track "*.pdf"
git add .gitattributes
git add TCP\&IP网络编程.pdf
git commit -m "git-lfs添加《TCP/IP网络编程》PDF"
git push