c/s模型即客戶(client)/伺服器(server)模型。
1.特點
伺服器提供服務,客戶請求服務。
2.客戶端和伺服器之間連線的數量對應關係
多個客戶程序可以同時訪問乙個服務程序,乙個客戶程序可以同時訪問多個伺服器程序提供的服務。
3.客戶端和伺服器所在不同網路位置所適用的場合
執行在同乙個機器上的場合,應用於網路應用程式開發測試。
執行在同乙個區域網內的不同機器上的場合,應用於區域網檔案共享、區域網印表機。
執行於廣域網不同機器上的場合,應用於最常見的網路應用程式。
4.客戶端和伺服器的角色關係
應用程式僅作為客戶執行,如web伺服器。
應用程式僅作為伺服器執行,如區域性基本功能的ftp伺服器。
應用程式同時具備客戶和伺服器的兩種角色。
5.伺服器端和客戶端的工作過程
5.1.伺服器首先啟動監聽程式,對指定的埠進行監聽,等待接收客戶端的連線請求。
5.2.客戶端啟動程式,請求連線伺服器的指定埠。
5.3.伺服器收到客戶端的連線請求後,與客戶端建立套接字連線。
5.4.連線建立成功,客戶端與伺服器分別開啟兩個流,其中客戶端的輸入流連接到伺服器的輸出流,伺服器的輸入流連接到客戶端的輸出流,兩邊的流連線成功後進行雙向通訊。
5.5.當通訊完畢後,客戶端和伺服器兩邊各自斷開連線。
6.伺服器端的程式設計流程
6.1建立套接字。
6.2設定伺服器端口和ip位址。
6.3繫結埠。
6.4監聽。
6.5接受客戶端傳送過來的連線請求。
6.6接收資料。
6.7處理事件。
6.8關閉套接字。
7.客戶端的程式設計流程
7.1建立套接字。
7.1設定埠和ip。
7.3連線伺服器。
7.4傳送或接收資料。
7.5處理事件。
7.6關閉套接字。
8.c/s模式特點總結
結構簡單。
支援分布式、併發環境,有效提高資源的利用率和共享程度。
伺服器集中管理資源,有利於許可權控制和系統安全。
可擴充套件性較好,客戶和伺服器均可單獨公升級。
客戶 伺服器模型
在我們日常所見的網路應用程式中,很多都是由客戶 伺服器 c s 模型組成的。伺服器主要承擔著提供資源的責任,通常可以為數量較多的客戶提供服務。今天我們主要來通過乙個最基本的回射伺服器和客戶端模型的編寫,來體會到客戶和伺服器的角色定位,以及對套接字有更深的理解。首先要有一些準備知識,了解在linux下...
伺服器模型 C S模型和P2P模型
呦呦切克鬧,煎餅果子來一套 tcp ip協議在設計和實現上並沒有客戶端和伺服器的概念,在通訊過程中所有機器都是對等的。但由於資源都被資料提供者所壟斷,所以幾乎所有的網路應用程式都很自然地採用了下圖所示的c s 客戶端 伺服器 模型。1 c s 客戶端 伺服器 模型 所有客戶端都通過訪問伺服器來獲取所...
CS模型之伺服器程序終止
現在我們啟動我們的客戶 伺服器,然後殺死伺服器子程序。這是在模擬伺服器程序崩潰的情況,我們可從中檢視客戶將發生什麼。1 啟動伺服器和客戶端,正常回射。2 找到伺服器子程序id,並kill殺死它。子程序中所有開啟的描述符都被關閉。這導致向客戶傳送fin,而客戶tcp則相應ack。這就是tcp連線終止工...