- 1、本文档共10页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
二远端程序呼叫RemoteProcedureCallRPC
第十一章 高階應用程式介面 - RPC 11-1 RPC 簡介 11-2 RPC 協定架構 11-3 RPC 運作方式 11-4 RPC 程式開發 11-5 RPC 庫存函數 11-6 XDR 資料表示協定 11-7 RPC 安全性 11-1 RPC 簡介 (一) 本地程序呼叫 (Local Procedure Call, LPC) 同一主機電腦內的程序呼叫 11-1 RPC 簡介 (二) 遠端程序呼叫 (Remote Procedure Call, RPC) 遠端電腦程序呼叫 資料庫伺服器 (Database Server) 11-2 RPC 協定架構 應用層:Client/Server 資料庫伺服系統 表現層: 外部資料表示法 (eXternal Data Representation, XDR) 抽象語意表示 (ASN.1) 交談層:實現 RPC 系統 傳輸層:TCP 或 UDP 協定 網路層:IP 協定 鏈路層與實體層:一般網路,如 Ethernet 網路 11-3 RPC 運作方式 (一) RPC 連線方式 當伺服程式 (RPC Server) 啟動時,便向 Portmap? 註冊本身的傳輸埠口。 客戶端如欲呼叫遠端程式,首先向 Portmap 查詢傳輸埠口位置。 客戶端得到埠口位址後,便可直接連結伺服程式。 11-3 RPC 運作方式 (二) RPC 程序呼叫方式 Server Stub Client Stub 11-4 RPC 程式開發 (一) 編寫 RPC 規格檔:date.x 利用 rpcgen? 編譯規格檔 $ rpcgen date.x?? 會產生四個檔案: 標頭檔:date.h Server Stub : date_svc.c? Client Stub : date_cln.c 資料格式轉換檔 : date_xdr.c 3. 編寫遠端程序:date_proc.c (linux-2 163.15.2.30) $ cc -o date_proc date_proc.c date_svc.c date_xdr.c -lnsl 4. 編寫客戶端主程式: rdate.c? (linux-2 163.15.2.62) $ cc -o rdate rdate.c date_clnt.c date_xdr.c -lnsl 5. 遠端程序執行? (linux-2 163.15.2.30) ?$ date_proc? 6. 客戶端程序呼叫? (linux-2 163.15.2.62) $ rdate 163.15.2.30 11-5 RPC 庫存函數 伺服端庫存函數 開啟 TCP 的 RPC 連線:svctcp_create() 開啟 UDP 的 RPC 連線 : svcudp_create() 客戶端庫存函數 開啟通訊連線:clnt_cerate() 關閉通訊連線:clnt_destory() 通訊連線控制:clnt_control() 呼叫遠端程序:clnt_call() 其它功能呼叫: clnt_pcreateerror(), clnt_perror(), clnt_freeres() 11-6 XDR 資料表示協定 外部資料表示?? (eXternal Data Representation, XDR) 資料長度 位元組順序 資料表示 序列 11-7 RPC 安全性 None : 無安全錯誤 Unix : 以 Unix 作業方式 Secure : Secure RPC *
文档评论(0)