C S通訊模型與B S通訊模型介紹

2021-06-22 00:18:14 字數 1534 閱讀 2862

1、客戶端與伺服器之間的通訊模型

基於socket連線的客戶端與伺服器之間的通訊模型圖如上圖所示,整個通訊過程如下所示:

(1) 伺服器端首先啟動監聽程式,對指定的埠進行監聽,等待接收客戶端的連線請求;

(2)客戶端程式啟動,請求連線伺服器的指定埠;

(3)伺服器收到客戶端的連線請求後與客戶端建立套接字(socket)連線;

(4)連線成功後,客戶端與伺服器分別開啟兩個流,其中客戶端的輸入流連接到伺服器端的輸出流,伺服器的輸入流連接到客戶端的輸出流,兩邊的流連線成功後就可以進行雙向通訊了。

(5)當通訊完畢後,客戶端與伺服器端兩邊各自斷開連線。

注:套接字(socket):是一種相互通訊計算機之間的雙向埠,具體包括主機的ip位址,服務型別,tcp/ip協議的埠。其中,tcp/ip協議的埠就是描述網路通訊傳送和接收的程序的標識資訊,具體說就是為資訊的傳說提供地點。當應用程式與埠繫結後,作業系統將收到的資料傳送到埠指定的應用程式程序。每個埠有乙個埠號的識別符號,用來區分不同的埠。埠號可以是0~65535之間的任何數字。

0~255的埠號為系統的保留埠,用於系統程序的通訊;

其他的埠是自由埠,可以為程序自由使用;

已定義的埠號:tomcat 伺服器的預設通訊埠是8080;

mysql預設的通訊埠是3306;

sqlserver的預設通訊埠是1433;

2、瀏覽器與伺服器之(b/s)之間的通訊模型

由以上1,可以看出c/s的通訊模式是使用socket來實現的,而b/s的通訊模式是使用使用http來實現的。http(hypertext transfer protocol)超文字傳輸協議,是一種詳細規定了瀏覽器與全球資訊網伺服器之間相互通訊的規則。

瀏覽器與伺服器之間的通訊,是一次完整的http通訊過程,包括以下7個步驟:

(1) 建立tcp連線;

(2)瀏覽器向伺服器傳送請求命令(即http請求);

(3)瀏覽器傳送請求頭資訊;

(4)伺服器應答(即http響應);

(5)伺服器傳送應答頭資訊

(6)伺服器向瀏覽器傳送資料

(7)伺服器關閉tcp連線

注: http請求與響應格式,見**:

http響應碼(即當我們瀏覽乙個網頁時,有時會出現」not fonud  error 505"型別的資訊),如下所示:

1××  ——資訊類(information):表示收到瀏覽器的請求,正在進一步處理;

2×× ——成功類(successful):表示使用者請求被正確接收,理解和處理;

3××——重定向類(redirection):表示請求沒有成功,客戶必須採取進一步的動作;

4××——客戶端錯誤(client error):表示客戶端提交的請求有錯;

5××——伺服器錯誤(server error):表示伺服器不能完成對請求的處理。

C S通訊模型與B S通訊模型介紹

1 客戶端與伺服器之間的通訊模型 基於socket連線的客戶端與伺服器之間的通訊模型圖如上圖所示,整個通訊過程如下所示 1 伺服器端首先啟動監聽程式,對指定的埠進行監聽,等待接收客戶端的連線請求 2 客戶端程式啟動,請求連線伺服器的指定埠 3 伺服器收到客戶端的連線請求後與客戶端建立套接字 sock...

C S通訊模型

server端 服務端建立socket步驟 1 建立socket物件 2 繫結ip及埠號 3 監聽埠號,等待客戶端請求 響應客戶端請求 import socket import time sock socket.socket socket.af inet,socket.sock stream pri...

高效通訊模型之 非同步通訊模型

非同步模型 非同步和同步 同步,就是在發出乙個功能呼叫時,在沒有得到結果前,呼叫不返回 非同步,當乙個非同步過程呼叫發出後,呼叫者不能立即得到呼叫結果,而是通過狀態,通知和 來通知呼叫者。通過檢查狀態來判斷非同步呼叫結果,效率會很低,因為需要週期性檢查狀態 函式和通知差不多 同步呼叫與阻塞呼叫 對於...