作業系統客戶端/伺服器通訊


客戶端/伺服器通訊涉及兩個元件,即客戶端和伺服器。通常多個客戶端與單個伺服器通訊。客戶端向伺服器傳送請求,伺服器響應客戶端請求。

客戶端/伺服器通訊主要有三種方法。如下所示 -

套接字

套接字促進同一臺機器或不同機器上的兩個程序之間的通訊。它們用於客戶端/伺服器框架,並由 IP 地址和埠號組成。許多應用程式協議使用套接字在客戶端和伺服器之間進行資料連線和資料傳輸。

套接字通訊級別較低,因為套接字僅在程序之間傳輸非結構化位元組流。位元組流上的結構由客戶端和伺服器應用程式強加。

說明套接字的圖表如下所示 -

Sockets

遠端過程呼叫

這些是用於基於客戶端-伺服器的應用程式的程序間通訊技術。遠端過程呼叫也稱為子程式呼叫或函式呼叫。

客戶端有一個請求,RPC 將其轉換併發送到伺服器。此請求可能是對遠端伺服器的過程或函式呼叫。伺服器收到請求後,將所需的響應傳送回客戶端。

說明遠端過程呼叫的圖表如下所示 -

RPC

管道

這些是程序間通訊方法,包含兩個端點。資料由一個程序從管道的一端輸入,並由另一個程序從另一端消耗。

管道有兩種不同的型別:普通管道和命名管道。普通管道僅允許單向通訊。對於雙向通訊,需要兩個管道。普通管道在程序之間存在父子關係,因為管道只能被建立或繼承它們的程序訪問。

命名管道比普通管道更強大,並且允許雙向通訊。即使使用它們的程序終止後,這些管道仍然存在。當不再需要時,需要顯式刪除它們。

演示管道的圖表如下所示 -

Pipes in OS

更新於: 2020年6月24日

18K+ 瀏覽量

開啟你的 職業生涯

透過完成課程獲得認證

開始學習
廣告

© . All rights reserved.