我以爲學習網絡編程就是了解計算機之間如何進行網絡通訊,從上一篇《學網絡編程前的計算機知識普及》中,我對計算機的一些基礎常識進行了普及,讓讀者對計算機的軟件、硬件以及操做系統有了一個清晰的認知。我在其中介紹了一個完整的計算機系統由三層結構構成,我再把那張圖引用一下,方便後面知識的學習。html
你們要先了解兩個詞:程序員
- 客戶端(Client)
- 服務器端(Server)
你要是沒聽過這兩個詞,就先暫時把它們想象成是兩個軟件,咱們假如想要開發這兩個軟件,讓它們基於網絡通訊。那這個客戶端軟件和服務器端軟件確定不是操做系統吧,你要明白,咱們學習Java、Python是爲了成爲應用開發程序員,而不是開發操做系統的,咱們只須要用別人開發好的操做系統。那咱們肯定客戶端軟件和服務器端軟件必定是應用軟件,它們要想執行,過程跟上面圖片中所講的同樣吧。以下圖:編程
看見這張圖你應該清晰了,而後咱們說要基於網絡讓兩臺計算機進行通訊,那這兩臺計算機之間應該有一根網線鏈接才能通訊吧,而後客戶端軟件想把硬盤中的信息發送給服務器端軟件,就須要先經過操做系統控制硬盤,而後經過網線傳輸給服務器端,服務器端要想給客戶端發送消息亦是同理。
在這張圖中有客戶端軟件到操做系統再到計算機硬件這個過程咱們已經明白了,如今咱們研究的重點應該是兩臺計算機進行信息傳輸中如何經過網絡進行傳輸。服務器
我舉一個生活中用來通訊的例子,好比說如今把我和個人電話(有線電話)當作是一臺計算機,我是青海的,我要給河南的某同窗打電話,首先兩個電話是否是得用線連着,能保證打通,而後我跟他打電話,他是河南人,聽不懂青海方言,那我得用河南話或者普通話跟他溝通,而後我又給一個廣東的朋友打電話,我不會說廣東話,他說廣東話我也聽不懂,所以咱們只能用普通話溝通。那爲了溝通方便,跟不一樣省份的人打電話,咱們應該制定一套你們都能遵循的規範,一種協議,不管你是哪的人,在打電話的時候都要用統一的標準普通話。那咱們不必定只給中國人打電話,若是咱們要給外國人打電話,這個協議就不行了,世界的通用語言是英語,若是要在全世界之間通訊,那咱們得從新制定一份你們都能遵循的協議——英語。網絡
再切換過來,我上面說把我和個人電話當作是一臺計算機,那上面的情景就至關因而計算機和計算機之間進行通訊,那計算機和計算機進行通訊所遵循的協議就是互聯網協議。什麼是協議?就跟合同同樣,你們都按上面的去作,換句話說,互聯網協議就是計算機界的英語,這沒毛病吧。看下圖:學習
此篇到此先結束吧,今天被車給撞了,雖然撿了一條命,但心情仍是受影響的,不過仍是把這篇補完了,世事無常,珍愛生命,且行且珍惜!操作系統