2018年,我印象最深刻的一本書《TCP/IP網路程式設計》

無臉男發表於2018-05-12

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

總結

因為本人語文不好,語言組織能力有限,但是這本書真的很棒,如果你想了解伺服器程式設計和網路程式設計,同時你以前對這方面不是很懂,那麼這本書很適合你。我說說我看書的習慣吧,我看書一般都看三遍,第一遍:不做任何筆記,看一遍,主要目的就是為了看看書籍適不適合我或者這本書是不是好書,如果不是那麼沒有筆記的話,賣二手還能賣一個好價格。第二遍:如果這本書看第二遍了,那麼這本書肯定不會再賣了,那麼這一遍我就會比第一遍更加認真,同時做筆記劃重點。第三遍:這一遍就是開始擼程式碼了,如果書上有程式碼那麼久儘量不去看,根據作者的描述去實現。如果書上沒有程式碼那就更應該儘自己的努力去實現了。這樣不僅對理論同時對程式碼也有一個程度的熟悉。

相關文章