2017/10/09

RPC一瞥

摘要

本文概要敘述建立一個RPC(Remote Procedure Call)程式的步驟。

本文


RPC是一個電腦網路的通訊協定,該協定允許運行於某一台電腦的程式呼叫定址空間不同的另一台電腦的子程式、而程式設計師無需額外地為這個互動過程撰寫程式。參照這裡可以看到Ubuntu作業系統上完整的RPC程式的建立步驟影片。參照前述影片來建立RPC程式的步驟條列如下:
1. 撰寫一個RPC語言檔;例如此處的fact.x
2. 將撰寫完畢的RPC語言檔fact.x透過rpcgen工具程式產生所有的ANSI C程式碼與Makefile;例如這裡的指令為rpcgen -a -C fact.x
3. 以產生出來的ANSI C程式碼為基礎,實作客戶端(呼叫端)與伺服端(被叫端)的程式碼。
3.1. 編輯伺服端程式碼;例如此處的第18至第25列。
3.2. 編輯客戶端程式碼;例如此處的第25至26列、和第32至第34列。
4. 透過產生出來的Makefile來建構程式碼;例如這裡的指令為make -f Makefile.fact
5. 分別執行伺服端程式和客戶端程式。執行範例如下,客戶端程式輸入欲計算的階層、再透過RPC傳送予伺服端,由伺服端程式計算結果後、再經由RPC回覆給客戶端。
注意:視情況來決定要不要安裝rpcbind程式,指令可以參考這裡apt-get;也必須視情況來決定要不要啟動rpcbind,指令可以參考這裡systemctl

沒有留言:

張貼留言