邀請好友學習
每邀請一位你將得 ¥
2020年是非常特殊的一年,也是令你我終生難忘的一年。很多人都在談論基礎科技的重要性。事實上,計算機網(wǎng)絡編程也是非?;A、非常重要的一門課,是每一位程序員都應該掌握的。今年火了遠程辦公和在線教育,其系統(tǒng)都是離不開網(wǎng)絡編程的,以及各種音視頻直播系統(tǒng)更是離不開網(wǎng)絡編程。
也許你會說:“網(wǎng)絡編程是偏底層的技術,我作為前端程序員有必要掌握嗎?”我的回答是相當有必要的。如果你明白每一個 HTTP請求所發(fā)生的故事,這對你的技術進步、技術決策和職位晉升不是有很好的幫助嗎?
對于求職者來說,網(wǎng)絡編程更是必考的題目。比如,TCP 的 TIME_WAIT 狀態(tài)是怎么產(chǎn)生的?有什么影響?如何避免?再比如,Node.js 的事件循環(huán)機制是什么?其實,Node.js 的底層網(wǎng)絡庫是 libuv,事件循環(huán)是基于 libuv 實現(xiàn)的。掌握了這些,同樣能幫助你提升技術競爭力。
怎么學習網(wǎng)絡編程呢?課程帶你循序漸進、由易到難地學習。首先,了解 TCP/IP 參考模型中提出的主要協(xié)議。然后,我們主要學習 BSD Socket API,其中會利用一些小程序案例,來講解這些 Socket API 具體用法。學習Socket編程一定少不了做實驗,我們會通過做實驗,更加明確協(xié)議格式和工作原理。最后,我們一起開發(fā)一個網(wǎng)絡檢測工具。
總之,課程不僅僅是帶你學習網(wǎng)絡協(xié)議相關知識,更重要的是研究操作系統(tǒng)網(wǎng)絡協(xié)議棧的實現(xiàn)原理,學習網(wǎng)絡中間件的設計思想和實現(xiàn)思路。這不僅有利于提升你的技術深度和廣度,使你更容易做出正確的技術決策,還能為你的職業(yè)發(fā)展帶來更多的選擇。
講師陳子興,現(xiàn)任資深軟件架構師,曾在華為、全時工作過。喜歡研究技術,喜歡網(wǎng)絡編程技術,曾研究過 Linux 內核網(wǎng)絡協(xié)議棧源碼。由于具備多年的音視頻實時通信行業(yè)經(jīng)驗,因此對音視頻傳輸,高性能流媒體服務器的設計有著深刻的理解和認識。
本專欄分為 5 大模塊,共 32 小節(jié)。
專欄布局基本按開發(fā)順序進行,共分為五個模塊:
本模塊分兩篇。第一篇介紹為什么學習網(wǎng)絡編程?什么是網(wǎng)絡編程?怎樣學習網(wǎng)絡編程?第二篇介紹網(wǎng)絡協(xié)議棧的發(fā)展歷史。
本模塊主要介紹 TCP/IP 協(xié)議模型的基礎理論。包括:鏈路層、網(wǎng)絡層、傳輸層的基本原理,以及網(wǎng)絡字節(jié)序和主機字節(jié)序的概念。
本模塊主要介紹UDP、TCP、UNIX 域套接字編程,以及 Linux、Windows、Mac OS 下面 I/O 多路復用技術。
本模塊主要介紹高級 I/O 技術。包括:高級 I/O 函數(shù)、UNIX 異步 I/O、Windows IOCP、組播編程技術、網(wǎng)絡 QoS 機制。最后開發(fā)一個網(wǎng)絡質量檢測的小項目。
本模塊為專欄收尾,對專欄內容進行總結。
本專欄為圖文形式內容服務,共計 32 小節(jié),上線時間為 2020 年 6 月 9 日,預計 2020 年 8 月更新完成;
本專欄更新時間為周一、周三、周五,每周更新 3 篇(法定節(jié)假日順延),形式為圖文;
訂閱成功后,用戶即可通過慕課網(wǎng) PC 端、App 端、WAP 端享有永久閱讀的權限;
慕課專欄為虛擬內容服務,訂閱成功后概不退款;
在專欄閱讀過程中,如有任何問題,請郵件聯(lián)系kf@imooc.com;
慕課專欄版權歸本平臺所有,任何機構、媒體、網(wǎng)站或個人未經(jīng)本網(wǎng)協(xié)議授權不得轉載、鏈接、轉貼或以其他方式復制發(fā)布/發(fā)表,違者將依法追究責任。
下載慕課網(wǎng)APP
更好的體驗,讓閱讀隨處可得
如無法下載使用圖片另存為
下載海報