網絡編程懶人入門

轉自: http://www.52im.net/thread-1095-1-1.html

僅記錄到參考文章 ,具體可以點擊鏈接查看

1、寫在前面


論壇和羣裏常會有技術同行打算自已開發IM或者消息推送系統,很多時候連基本的網絡編程理論(如網絡協議等)都不瞭解,就貿然定方案、寫代碼,顯得非常盲目且充滿技術風險。

即時通訊網論壇裏精心整理了《[通俗易懂]深入理解TCP協議》、《不爲人知的網絡編程》、《P2P技術詳解》、《高性能網絡編程》這幾個網絡編程的系列文章,甚至還有圖文並貌+實戰代碼的《NIO框架入門》等等。資料雖好,無奈很多同行或許是時間緊迫,也或許是心態浮躁,反正就是沒辦法靜下心來仔細研讀,導致錯過了很多必須掌握的網絡編程知識基礎(如果您正打算從零開發移動端IM,則建議您從此文開始《新手入門一篇就夠:從零開發移動端IM)。

本次《網絡編程懶人入門》系列文章(共3篇),將爲大家(尤其是上面說的浮躁的開發者同行)提供懶人快速入門,希望在你沒辦法耐心讀完上面的幾個系列文章(但還是強烈建議優先去讀一讀)的情況還能對基本的網絡編程知識有所瞭解和掌握,從而對您的IM系統或消息推系統的技術選型、方案制定、代碼編寫起到理論支撐作用。

本文將從網絡通信協議講起,懶人們,動起來^_^ !

2、正文引言


我們每天使用互聯網,你是否想過,它是如何實現的?

全世界幾十億臺電腦,連接在一起,兩兩通信。上海的某一塊網卡送出信號,洛杉磯的另一塊網卡居然就收到了,兩者實際上根本不知道對方的物理位置,你不覺得這是很神奇的事情嗎?

互聯網的核心是一系列協議,總稱爲"互聯網協議"(Internet Protocol Suite)。它們對電腦如何連接和組網,做出了詳盡的規定。理解了這些協議,就理解了互聯網的原理。

下面就是我的學習筆記。因爲這些協議實在太複雜、太龐大,我想整理一個簡潔的框架,幫助自己從總體上把握它們。爲了保證簡單易懂,我做了大量的簡化,有些地方並不全面和精確,但是應該能夠說清楚互聯網的原理。

另外,如果您很好奇承載這些網絡協議的物理設備是怎麼工作的,可以先看看《網絡編程懶人入門(六):史上最通俗的集線器、交換機、路由器功能原理入門》。

3、系列文章


本文是系列文章中的第1篇,本系列文章的大綱如下:
 


本站的《腦殘式網絡編程入門》也適合入門學習,本系列大綱如下:
 


如果您覺得本系列文章過於基礎,您可直接閱讀《不爲人知的網絡編程》系列文章,該系列目錄如下:
 


關於移動端網絡特性及優化手段的總結性文章請見:
 

 

4、參考資料


TCP/IP詳解 - 第11章·UDP:用戶數據報協議
TCP/IP詳解 - 第17章·TCP:傳輸控制協議
TCP/IP詳解 - 第18章·TCP連接的建立與終止
TCP/IP詳解 - 第21章·TCP的超時與重傳
通俗易懂-深入理解TCP協議(上):理論基礎
通俗易懂-深入理解TCP協議(下):RTT、滑動窗口、擁塞處理
理論經典:TCP協議的3次握手與4次揮手過程詳解
理論聯繫實際:Wireshark抓包分析TCP 3次握手、4次揮手過程
計算機網絡通訊協議關係圖(中文珍藏版)
高性能網絡編程(一):單臺服務器併發TCP連接數到底可以有多少
高性能網絡編程(二):上一個10年,著名的C10K併發連接問題
高性能網絡編程(三):下一個10年,是時候考慮C10M併發問題了
高性能網絡編程(四):從C10K到C10M高性能網絡應用的理論探索
簡述傳輸層協議TCP和UDP的區別
爲什麼QQ用的是UDP協議而不是TCP協議?
移動端即時通訊協議選擇:UDP還是TCP?

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章