RPC遠端過程

2022-07-18 12:36:16 字數 776 閱讀 2183

(一)rpc的定義:rpc(remote procedure call)—遠端過程呼叫,它是一種通過網路從遠端電腦程式上請求服務,而不需要了解底層網路技術的協議。rpc協議假定某些傳輸協議的存在,如tcp或udp,為通訊程式之間攜帶資訊資料。在osi網路通訊模型中,rpc跨越了傳輸層和應用層。rpc使得開發包括網路分布式多程式在內的應用程式更加容易。

rpc採用客戶機/伺服器模式。請求程式就是乙個客戶機,而服務提供程式就是乙個伺服器。首先,客戶機呼叫程序傳送乙個有程序引數的呼叫資訊到服務程序,然後等待應答資訊。在伺服器端,程序保持睡眠狀態直到呼叫資訊到達為止。當乙個呼叫資訊到達,伺服器獲得程序引數,計算結果,傳送答覆資訊,然後等待下乙個呼叫資訊,最後,客戶端呼叫程序接收答覆資訊,獲得程序結果,然後呼叫執行繼續進行。

有多種 rpc模式和執行。最初由 sun 公司提出。ietf onc 憲章重新修訂了 sun 版本,使得 onc rpc 協議成為 ietf 標準協議。現在使用最普遍的模式和執行是開放式軟體基礎的分布式計算環境(dce)。

(二)rpc的原理:

執行時,一次客戶機對伺服器的rpc呼叫,其內部操作大致有如下十步:

1.呼叫客戶端控制代碼;執行傳送引數

2.呼叫本地系統核心傳送網路訊息

3.訊息傳送到遠端主機

4.伺服器控制代碼得到訊息並取得引數

5.執行遠端過程

6.執行的過程將結果返回伺服器控制代碼

7.伺服器控制代碼返回結果,呼叫遠端系統核心

8.訊息傳回本地主機

9.客戶控制代碼由核心接收訊息

10.客戶接收控制代碼返回的資料

遠端過程呼叫 RPC

rpc是遠端過程呼叫 remote procedure call 的縮寫。就是一台伺服器上的服務通過引數傳遞的方式呼叫另一台服 務器的服務,並獲取返回結果。比如有兩台伺服器a b,a上的服務想要呼叫b上的函式或方法,由於不在同乙個記憶體空間,不能直接呼叫,需要通過網路來表達呼叫的語義和傳達呼叫的資料...

RPC遠端過程呼叫

1.rpc 1.1 rpc remote procedure call 遠端過程呼叫.遠端過程指的是不是同乙個程序。1.2 rpc至少有兩個過程。呼叫方 client 被呼叫方 server 1.3 client主動發起請求,呼叫指定ip和port的server中的方法,把呼叫結果返回給client...

遠端過程呼叫RPC

1 可以夠跨多種開發工具及平台,比如說企業已有的系統開發完畢或者子系統已經部署交付了,它提供了rpc介面,新的子系統要整合,使用業界通用的rpc介面就可以整合了,你不可能要求原來的開發商再來修改一遍介面,否則的話就變成了資訊孤島。2 能夠跨多個伺服器,這個在其他計算機上很容易透過80埠的rpc來訪問...