Network(计算机网络)
本节主要参考陈硕的网络编程学习经验,特此鸣谢,后文附原文链接及文档。
初阶读物
- 中文书名:计算机网络:自顶向下方法,从应用层着手介绍计算机网络,例子也比较生动,适合入门科普(想深入学习的建议直接从底下Stevens的书籍入手)。中文译作质量不错,Andrew S. Tanenbaum的 Computer Networks 则是自下而上介绍计算机网络的,两本书行文风格差异较大,个人推荐 James F.Kurose 的 Computer Networking: A Top-Down Approach。
- TCP/IP Illustrated Volumn 1 - Stevens 的经典技术书籍,是网络编程方面必读的入门经典。第三版有较大改动(此时Stevens已故),第三版中的TCP部分值得关注,其他章节阅读第二版即可,第二版部分章节的内容已经十分陈旧,不必阅读。
- TCP/IP Illustrated, Vol. 1: The Protocols - 上述书籍的附加资源链接。
进阶
- UNIX Network Programming, Volume 1 - 书籍网站。
- UNIX网络编程 - 译作质量很高。
- Jon Snader’s Home Page - 有 Effective TCP/IP Programming 一书的介绍及勘误。本书为专家经验总结类。
高阶
- Pattern-Oriented Software Architecture: Patterns for Concurrent and Networked Objects - 总结了开发并发网络服务程序的模式,对UNP是很好的补充。书中强调模块化,业务逻辑和网络通信解耦。代码仅供参考,主要看思想。
- TCP/IP Illustrated, Vol. 2: The Implementation - 与现有的Linux相差较大,陈硕的网站上有对Linux下用户态的实现。主要看TCP部分的实现即可。
其它补充
- TCPIP网络编程之四书五经 - 2003年《程序员》杂志上孟岩写的一篇书评。
- 谈一谈网络编程学习经验 - 陈硕写的,原文链接可见 谈一谈网络编程学习经验(06-08更新)。作者在网络编程方面还是比较有经验的,已有书籍 Linux多线程服务端编程 出版,里面有不少干货。