用戶端系結
系結控制碼是由通訊協定序列、伺服器程式主機電腦的名稱或位址,以及伺服器端點所組成。 因此,您的用戶端程式必須取得或提供這項資訊,才能建立系結。
如果您的用戶端程式使用自動系結控制碼,您不需要撰寫特殊的原始程式碼來建立或管理系結。 用戶端存根會呼叫建立和維護系結所需的 RPC 函式。 您只需要指定用戶端在應用程式組態檔中使用自動系結控制碼, (ACF) ,並據以設計介面。 如需詳細資訊,請參閱 自動系結控制碼。
例如,假設您正在開發稱為遠端時間戳記函式的用戶端程式。 在這裡,存根會執行所有工作,而用戶端只需要包含產生的標頭檔 Auto.h,才能取得遠端程式的函式原型。 用戶端應用程式對遠端程式的呼叫看起來就像對本機程式的呼叫一樣,如下列範例所示:
/* auto handle client application (fragment) */
#include <windows.h>
#include <stdio.h>
#include <time.h>
#include "auto.h" // header file generated by the MIDL compiler
void main(int argc, char **argv)
{
time_t t1;
time_t t2;
char * pszTime;
...
GetTime(&t1); // GetTime is a remote procedure
GetTime(&t2);
pszTime = ctime(&t1);
printf("time 1= %s\n", pszTime);
pszTime = ctime(&t2);
printf("time 2= %s\n", pszTime);
Shutdown(); // Shutdown is a remote procedure
exit(0);
}
如上述範例所示,用戶端應用程式不需要對 RPC 執行時間程式庫函式進行任何明確的呼叫。 用戶端存根會管理它們。
如果您的應用程式使用隱含或明確的系結控制碼,用戶端必須取得系結資訊,並呼叫 RPC 函式來建立控制碼。 用戶端從中取得系結資訊的位置取決於應用程式的需求。 安裝用戶端應用程式的安裝程式可以將系結資訊儲存在它所建立的環境變數中。 它也可以將系結資訊儲存在應用程式特定的組態檔中。 由於環境變數或組態檔中的系結資訊通常會儲存為字串,因此用戶端應用程式必須將字串轉換成系結。 在 Windows XP/2000 環境中,可以從 Active Directory 擷取系結資訊。 如需詳細資訊,請參閱 使用字串系結。
大部分的網路都有名稱服務。 伺服器程式可以在名稱服務資料庫中公告自己。 當用戶端開始執行時,它可以從名稱服務資料庫取得其系結資訊。 如需詳細資訊,請參閱 從名稱服務資料庫匯入。
下列主題將討論與隱含和明確控制碼系結所需的步驟:
如需這些主題的簡短概觀,請參閱 連接用戶端和伺服器。