關於RPC方式的C/S程式測試-01

來源:互聯網
上載者:User

環境:VC++6.0

1.首先利用uuidgen.exe /i /Rpc.idl命令產生一個Rpc.idl檔案(檔案名稱字自己取,但必須是.idl類型)。

組建檔案內容格式如下

[
uuid(abb12775-f053-4c62-95c2-4d9bc7fdbfef),
version(1.0)
]
interface INTERFACENAME
{

}

2.在 interface INTERFACENAME 的括弧內寫入你在伺服器端要調用的函數。

比如:(下列代碼來自:http://www.codeproject.com/KB/IP/rpcintro2.aspx)

// File ContextExample.idl
[
   // A unique identifier that distinguishes this interface from other interfaces.
   uuid(00000003-EAF3-4A7A-A0F2-BCE4C30DA77E),

   // This is version 1.0 of this interface.
   version(1.0)
]
interface ContextExample // The interface is named ContextExample
{
   // To fully use context handles we need to do a typedef.
   typedef [context_handle] void* CONTEXT_HANDLE;

   // Open a context on the server.
   CONTEXT_HANDLE Open(
      // Explicit server binding handle.
      [in] handle_t hBinding,
      // String to be output on the server.
      [in, string] const char* szString);

   // Output the context string on the server.
   void Output(
      // Context handle. The binding handle is implicitly
      // used through the explicit context handle.
      [in] CONTEXT_HANDLE hContext);

   // Closes a context on the server.
   void Close(
      // Context handle. The binding handle is implicitly
      // used through the explicit context handle.
      [in, out] CONTEXT_HANDLE* phContext);
}

3.對產生的.idl檔案執行 MIDL.EXE ContextExample.idl(檔案名稱根據你的自己檔案名稱而定)

   這樣會產生:ContextExample.h ContextExample_s.c ContextExample_c.c 3個檔案。

4.產生2個工程,一個是伺服器端,一個是用戶端。

   將ContextExample.idl ContextExample.h ContextExample_s.c 匯入伺服器端工程;

   將ContextExample.idl ContextExample.h ContextExample_c.c 匯入用戶端工程。

5.在伺服器端編寫被調用函數的實現代碼,在用戶端編寫調用代碼就可以進行RPC方式的C/S程式的測試。

不過這種方式和直接使用Socket或CSocket哪個更適合某些實際的應用,還待實驗!

 

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.