大家好,我是小林。不知道大家當(dāng)初是怎么學(xué)
網(wǎng)絡(luò)編程的?我來說說我踩過的坑。
我當(dāng)初在學(xué)網(wǎng)絡(luò)編程的時候,看見網(wǎng)上的人都說 《Unix 網(wǎng)絡(luò)編程》 是網(wǎng)絡(luò)編程圣經(jīng),豆瓣評分也很高,那么好學(xué)的小林,那肯定毫無猶豫買了。
書到貨后,我瞬間就懵逼了,這本書的厚度堪比新華字典,這尼瑪怎么學(xué)?
跟著書本的節(jié)奏,學(xué)了一段的時間,是懂了些 Linux socket API 的用法,摸索來摸索去都是各個 API 的細節(jié),
始終不知道高并發(fā)網(wǎng)絡(luò)框架是如何實現(xiàn)的。
后面我又重新找了一波關(guān)于網(wǎng)絡(luò)編程的書,找到了這兩本:《TCP/IP 網(wǎng)絡(luò)編程》和《Linux高性能服務(wù)器編程》。
-
《TCP/IP 網(wǎng)絡(luò)編程》這個是網(wǎng)絡(luò)編程入門絕佳書,書里的內(nèi)容不會有過多的術(shù)語,作者都用大白話來表達,配圖也很清晰,也有介紹我想知道的網(wǎng)絡(luò)框架,雖然是比較基礎(chǔ)的多進程服務(wù)端模型、多線程服務(wù)端模型、異步 IO 模型。而且最后一章實現(xiàn)了簡單的 HTTP 服務(wù)端,讓我知道了從代碼角度是怎么解析 HTTP 報文的,以及狀態(tài)機是如何實現(xiàn)和運轉(zhuǎn)的。
-
《Linux高性能服務(wù)器編程》這本書主要是網(wǎng)絡(luò)框架為主,前幾章關(guān)于網(wǎng)絡(luò)基礎(chǔ)知識對于掌握了計算機網(wǎng)絡(luò)知識的同學(xué)可以直接跳過的,你看,很多知識是想通的,當(dāng)我們知道掌握了這塊知識后,在學(xué)習(xí)新一本書的時候,就可以跳過重疊的內(nèi)容。在這本書我學(xué)到了,Reactor、Proactor、信號、定時器、多進程編程、多線程編程、進程池和線程池等。
通過這兩本讓我對網(wǎng)絡(luò)編程有了系統(tǒng)性的知識,然后在需要深入某個 sokcet 接口再去查《Unix 網(wǎng)絡(luò)編程》,沒錯這本厚的不行書就當(dāng)做字典來用。
你看當(dāng)初為了學(xué)個網(wǎng)絡(luò)編程,我走了那么多彎路。
但是,這些書大多數(shù)都是羅列知識點,并沒有結(jié)合工作來講。
后面,我就想找個跟工作息息相關(guān)的網(wǎng)絡(luò)編程的資料,后面我在極客時間找到了盛延敏的《
網(wǎng)絡(luò)編程實戰(zhàn)》專欄,分享給你一張,他總結(jié)的網(wǎng)絡(luò)編程的核心知識圖譜。