Liaison côté client

Les handles de liaison sont composés d’une séquence de protocole, du nom ou de l’adresse d’un ordinateur hôte du programme serveur et d’un point de terminaison de programme serveur. Par conséquent, votre programme client doit obtenir ou fournir ces informations pour créer une liaison.

Si votre programme client utilise des handles de liaison automatiques, vous n’avez pas besoin d’écrire du code source spécial pour créer ou gérer la liaison. Le stub client appelle les fonctions RPC nécessaires à l’établissement et à la maintenance de la liaison. Il vous suffit de spécifier que votre client utilise des handles de liaison automatiques dans le fichier de configuration de l’application (ACF) et de concevoir l’interface en conséquence. Pour plus d’informations, consultez Handles de liaison automatique.

Supposons, par exemple, que vous développiez un programme client qui appelait des fonctions d’horodatage à distance. Ici, les stubs effectuent tout le travail et le client doit uniquement inclure le fichier d’en-tête généré Auto.h pour obtenir les prototypes de fonction pour les procédures distantes. L’application cliente appelle les procédures distantes comme s’il s’agissait d’appels à des procédures locales, comme illustré dans l’exemple suivant :

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

Comme vous pouvez le voir dans l’exemple précédent, l’application cliente n’a pas besoin d’effectuer d’appels explicites aux fonctions de bibliothèque d’exécution RPC. Le stub client les gère.

Si votre application utilise des handles de liaison implicites ou explicites, le client doit obtenir les informations de liaison et appeler les fonctions RPC pour créer les handles. L’emplacement où le client obtient les informations de liaison dépend des exigences de votre application. Le programme d’installation qui installe votre application cliente peut stocker les informations de liaison dans les variables d’environnement qu’il crée. Il peut également enregistrer des informations de liaison dans un fichier de configuration spécifique à l’application. Étant donné que les informations de liaison dans les variables d’environnement ou les fichiers de configuration sont généralement stockées sous forme de chaînes, votre application cliente doit convertir la chaîne en liaison. Dans les environnements Windows XP/2000, les informations de liaison peuvent être récupérées à partir d’Active Directory. Pour plus d’informations, consultez Utilisation de liaisons de chaînes.

La plupart des réseaux ont un service de nom. Les programmes serveur peuvent s’annoncer eux-mêmes dans la base de données du service de noms. Lorsqu’un client commence l’exécution, il peut obtenir ses informations de liaison à partir de la base de données du service de noms. Pour plus d’informations, consultez Importation à partir de bases de données de service de noms.

Les étapes requises pour la liaison avec des handles implicites et explicites sont décrites dans les rubriques suivantes :

Pour obtenir une brève vue d’ensemble de ces rubriques, consultez Connexion du client et du serveur.