这一章主要学习TCP网络编程的几个关键函数:bind(),listen(),accept()和connect()。当然这里说的是这几个函数对应的systemcall的内核实现,并不是用户层怎么使用这些函数。同时还会介绍一些内核中与这些函数相关的数据结构。
TCP ADI in Linux(3): Implementation of Sockets
这章主要从socket()系统调用入手,介绍socket建立时初始化的一些重要数据结构。熟练掌握这些数据结构和他们之间的关系能够有效的帮助理解代码,所以这部分随着理解的加深,随时需要补充和完善。
TCP ADI in Linux(2): Protocol Fundamentals
这章主要还是基础知识的介绍,更加详细的介绍TCP/IP相关协议。
TCP ADI in Linux(1): Introduction
今天开始好好研究TCP/IP的Linux实现,结合书和代码希望自己能对TCP这块更加的熟悉。读Kernel代码还是功利性强一点比较好,比如这次我是由于毕设相关才来仔细研究TCP这块的具体实现的。没有目的性的看这种大块头项目,效率比较难保障。Anyway,这个系列也是看到那块记录哪块,用以加强自己的理解。题目中的ADI分别是Architecture, Design, Implementation。书就是下面这一本了,英文的比较带劲,:)
《TCP/IP ARCHITECTURE, DESIGN, AND IMPLEMENTATION IN LINUX》 by Sameer Seth
The Art of Readable Code
简介
短小精悍的编程建议,常读常新。
第一章:代码应当易于理解
1.代码的写法应当使别人理解它所需的时间最小化
理解的要求就是别人看完你的代码后,能够动手改动或优化你的代码。
写代码的时候应该以能够像自然语言一样易于理解为目标。
2.代码并不是行数越少就越容易理解