1.網路程式設計的軟體開發架構
軟體的開發架構主要有兩種:c/s架構和 b/s架構,其中b/s架構在本質上也是c/s架構。
2.網路基礎
想要實現遠端通訊需要具備的條件是:物理連線介質。比如說,人與人之間想要無障礙的交流,就需要統一一門語言,而計算機與計算機之間要實現遠端通訊,不僅需要物理連線介質,還需要一套公共的標準或協議,也就是osi協議。
1).物理鏈路層
常指基於電訊號傳輸的二進位制資料。
2).資料鏈路層
規定了電訊號的分組方式,也規定了任意一台接入網際網路的計算機都要具備一塊網絡卡,每一塊網絡卡上面都有一串(12位數的16進製制)編號,前6位數表示的廠商名字,後6位是流水線編號,我們管這12位數叫mac位址。這兩個規定合稱為「乙太網協議」。
交換機是基於乙太網協議通訊,不能跨區域網通訊,網際網路可以看成是由多個區域網之間連線而成的。
3).網路層
網路層的目的是為了實現兩個端系統之間的資料傳送,其核心為ip協議。
ip協議規定了只要是接入網際網路的計算機都必須要有乙個ip位址;
ip位址是以點分十進位制的方式來設定,ip位址的範圍是在0.0.0.0到255.255.255.255之間。
ip位址目前有兩個版本ipv4,ipv6(ipv6的出現是因為ipv4已經不足以表示目前的計算機了)。ip位址是動態隨機分配的。
4).傳輸層
tcp\udp都是基於埠(port)工作的協議,計算機與計算機之間的通訊其實是計算機上的應用程式之間的互相通訊。
tcp協議類似於打**。udp協議類似於發簡訊。
埠:用來唯一標識一台計算機上的某個應用程式。埠號的範圍是0~65536,其中要注意的是埠號為0~1024的這些都是作業系統預設使用的埠號。
mysql預設埠:3306
redis預設埠:6379
django預設埠:8000
flask預設埠:5000
5).應用層
http協議
ftp協議
3.tcp協議
tcp協議可以理解為流式協議或者是可靠協議。如果要基於tcp協議通訊,必須要先建雙向通道。
三次握手四次揮手
三次握手連線
四次揮手連線
PASCAL 高階程式設計 前言
前言turbo pascal是目前微機上最流行的pascal語言,它提供了集編輯 編譯 除錯和聯機幫助於一體的整合軟體開發環境,語言本身對標準pascal進行了大量的擴充套件,具有高效的數值運算能力 作業系統的低階呼叫功能 內嵌式組合語言等強有力的軟體開發支援,可以用於任何型別 任何規模的系統軟體和...
C專家程式設計 前言
前言之程式設計挑戰 計算機時間,研究time t什麼時候重新回到開始?date1.c include include int main 0 time t是一種系統基本資料型別,可被稱為日曆時間,它代表自unix紀元以來utc所經歷的秒數值,unix紀元是1970 01 01 00 00 00,utc...
學習Linux程式設計前的準備
如果您是非計算機相關專業零基礎兄弟,在學習linux程式設計基礎之前,建議先學習計算機基礎 linux作業系統基礎知識和計算機網路基礎知識。計算機基礎知識包括了很多常識性的內容,學了不一定有用,但是如果對一些基本常識不了解,可能會鬧笑話。總的來說,以學習概念和擴充知識面為主,不要深入理論,不要學習演...