Binding lato client

Gli handle di associazione sono costituiti da una sequenza di protocollo, dal nome o dall'indirizzo di un computer host del programma server e da un endpoint del programma server. Pertanto, il programma client deve ottenere o fornire queste informazioni per creare un'associazione.

Se il programma client utilizza handle di associazione automatici, non è necessario scrivere codice sorgente speciale per creare o gestire l'associazione. Lo stub client chiama le funzioni RPC necessarie per stabilire e gestire l'associazione. È sufficiente specificare che il client usa handle di associazione automatici nel file di configurazione dell'applicazione (ACF) e progettare l'interfaccia di conseguenza. Per informazioni dettagliate, vedere handle di binding automatici.

Si supponga, ad esempio, di sviluppare un programma client che ha chiamato funzioni remote timestamp. In questo caso, gli stub eseguono tutto il lavoro e il client deve solo includere il file di intestazione generato auto. h per ottenere i prototipi di funzione per le procedure remote. Le chiamate dell'applicazione client alle procedure remote vengono visualizzate esattamente come se fossero chiamate a procedure locali, come illustrato nell'esempio seguente:

/* 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);
}

Come si può notare nell'esempio precedente, l'applicazione client non deve effettuare chiamate esplicite alle funzioni della libreria run-time RPC. Lo stub client li gestisce.

Se l'applicazione utilizza handle di binding impliciti o espliciti, il client deve ottenere le informazioni di associazione e chiamare le funzioni RPC per creare gli handle. La posizione in cui il client ottiene le informazioni di binding dipende dai requisiti dell'applicazione. Il programma di installazione che installa l'applicazione client può archiviare le informazioni di binding nelle variabili di ambiente create. Consente inoltre di salvare le informazioni di binding in un file di configurazione specifico dell'applicazione. Poiché le informazioni di binding nelle variabili di ambiente o nei file di configurazione vengono in genere archiviate come stringhe, l'applicazione client dovrà convertire la stringa in un'associazione. Negli ambienti Windows XP/2000 è possibile recuperare le informazioni di binding da Active Directory. Per ulteriori informazioni, vedere utilizzo delle associazioni di stringa.

La maggior parte delle reti ha un nome servizio. I programmi server possono annunciarsi nel database del servizio nome. Quando un client avvia l'esecuzione, può ottenere le informazioni di binding dal database del servizio dei nomi. Per informazioni dettagliate, vedere importazione da nomi di database del servizio.

I passaggi necessari per l'associazione con handle impliciti ed espliciti vengono descritti negli argomenti seguenti:

Per una breve panoramica di questi argomenti, vedere Connecting the client and the server.