2018年又过了快一半了,想必你在这过去的5个月内也看了不少书吧,那么我就写一下我印象最深刻的一本书《TCP/IP网络编程》,这本书很好看。作者讲的很精彩,但是又是那种点到为止,留给读者自己去深入了解。总的来说,很合适以c语言入门网络编程的同学。下面我将通过以下几点详细说说为什么这本书那么好。

一、Linux和Windows同时进行讲解

这本书同时讲解两个不同的平台,用作者的话说,服务器程序一般运行在Linux操作系统上,客户端程序一般运行在Windows操作系统上。同时作者把Windows和Linux下的案例代码都给分析了一边。尤其是需要用到的api函数,作者都是先把api函数的每个参数都给列了出来并给出详细的说明。如下图:

enter image description here

二、用最简单的例子讲解复杂的模型

例如:两个比较复杂的模型,Linux下的epoll和Windows下的IOCP(I/O Completion Port),常称I/O完成端口,作者并没有直接切入的讲解,而是先把select模型讲解一下,再把IO复用,重叠IO讲解一遍,当然作者也是从简单慢慢深入的。最后还是用最简单的例子加上详细的解释,让读者可以很好的理解。如下图:

enter image description here

三、多线程和多进程

作者首先讲解了Linux下的多进程,然后又讲解了Linux下的多线程和Windows下的多线程,以及线程安全和线程存在的安全和临界区。作者用生动形象的比喻和图画,让读者很容易理解,同时又说了很多种进入临界区的办法。同时作者并不是那种理论很多的,作者会结合代码进行解释,这样就更加棒了!如下图:

enter image description here

总结

因为本人语文不好,语言组织能力有限,但是这本书真的很棒,如果你想了解服务器编程和网络编程,同时你以前对这方面不是很懂,那么这本书很适合你。我说说我看书的习惯吧,我看书一般都看三遍,第一遍:不做任何笔记,看一遍,主要目的就是为了看看书籍适不适合我或者这本书是不是好书,如果不是那么没有笔记的话,卖二手还能卖一个好价格。第二遍:如果这本书看第二遍了,那么这本书肯定不会再卖了,那么这一遍我就会比第一遍更加认真,同时做笔记划重点。第三遍:这一遍就是开始撸代码了,如果书上有代码那么久尽量不去看,根据作者的描述去实现。如果书上没有代码那就更应该尽自己的努力去实现了。这样不仅对理论同时对代码也有一个程度的熟悉。