rpc(remote procedure call protocol)——遠端過程呼叫協議,它是一種通過網路從遠端電腦程式上請求服務,而不需要了解底層網路技術的協議。
使用 rpc程式設計是在客戶機和伺服器實體之間進行可靠通訊的最強大、最高效的方法之一。它為在分布式計算環境中執行的幾乎所有應用程式提供基礎。任何 rpc 客戶機-伺服器程式的重要實體都包括 idl 檔案(介面定義檔案)、客戶機 stub、伺服器 stub以及由客戶機和伺服器程式共用的標頭檔案。客戶機和伺服器 stub 使用 rpc 執行時庫通訊。rpc執行時庫提供一套標準的執行時例程來支援 rpc 應用程式。了解執行時例程的內部情況有助於進一步了解 rpc 程式設計。
在一般的應用程式中,被呼叫的過程在相同的位址空間中執行,並把結果返回給發出呼叫的過程。在分布式環境中,客戶機和伺服器在不同的機器上執行,客戶端呼叫在伺服器端執行的過程,並把結果傳送回客戶機。這稱為遠端過程呼叫(rpc),是 rpc 程式設計的基礎。
使用 rpc 程式設計是在分布式環境中執行的客戶機和伺服器應用程式之間進行可靠通訊的最強大、最高效的方法之一。
當客戶機應用程式發出遠端過程呼叫時,在兩端的 rpc 執行時庫的幫助下,客戶機 stub 把與這個呼叫相關的資訊通過網路傳遞給伺服器stub
。伺服器stub 把所需的資訊提供給伺服器應用程式。伺服器應用程式執行遠端過程呼叫,然後使用 rpc 執行時庫通過伺服器 stub把結果傳遞給客戶機 stub。最後,客戶機 stub 把結果返回給客戶機應用程式。stub 作為應用程式和 rpc執行時之間的介面,以兩者可以理解的格式交換資訊。
在開發客戶機-伺服器應用程式時,客戶機和伺服器首先應該就要交換的過程的宣告和定義達成一致。這就是介面起的作用,介面維護客戶機和伺服器都認可的所有過程宣告和資料型別。
我們把所有共用的宣告和資料型別放在介面定義語言 (idl)檔案中,客戶機和伺服器將共享這個檔案。我們在 idl 檔案中使用 uuid,以使之在網路上所有其他介面中保持惟一。uuid是乙個惟一的隨機數,是由 uuidgen 實用程式使用網路位址資訊和系統時間生成的。
用 idl 編譯器編譯 idl 檔案,生成客戶機和伺服器 stub 物件檔案以及標頭檔案。這個標頭檔案包含共用的定義和過程。stub檔案在遠端過程呼叫期間作為應用程式和 rpc 執行時庫之間的介面。標頭檔案包含在客戶機和伺服器源**檔案中。用 c編譯器分別編譯客戶機和伺服器檔案,生成物件檔案。客戶機物件檔案和客戶機 stub 檔案與 rpc執行時庫鏈結,生成客戶機可執行程式。以相似的方式生成伺服器可執行程式,如下圖。
RPC 程式設計
anupama bindu,資深軟體工程師,ibm srinath karanam,軟體工程師,ibm 簡介 使用 rpc 程式設計是在客戶機和伺服器實體之間進行可靠通訊的最強大 最高效的方法之一。它為在分布式計算環境中執行的幾乎所有應用程式提供基礎。本文介紹 rpc 客戶機和伺服器之間基本的事件流...
RPC 程式設計
簡介 任何 rpc 客戶機 伺服器程式的重要實體都包括 idl 檔案 介面定義檔案 客戶機 stub 伺服器 stub 以及由客戶機和伺服器程式共用的標頭檔案。客戶機和伺服器 stub 使用 rpc 執行時庫通訊。rpc 執行時庫提供一套標準的執行時例程來支援 rpc 應用程式。了解執行時例程的內部...
RPC 程式設計
anupama bindu,資深軟體工程師,ibm srinath karanam,軟體工程師,ibm 簡介 使用 rpc 程式設計是在客戶機和伺服器實體之間進行可靠通訊的最強大 最高效的方法之一。它為在分布式計算環境中執行的幾乎所有應用程式提供基礎。本文介紹 rpc 客戶機和伺服器之間基本的事件流...