Exemples (RPC)
Le Kit de développement logiciel (SDK) de plateforme comprend des exemples qui illustrent divers concepts d’appel de procédure distante (RPC), comme suit :
ASYNCRPC illustre la structure d’une application RPC qui utilise des appels de procédure distante asynchrone. Il illustre également différentes méthodes de notification de l’achèvement de l’appel.
CLUUID illustre l’utilisation de l’UUID d’objet client pour permettre à un client de sélectionner parmi plusieurs implémentations d’une procédure distante.
Le répertoire DATA contient quatre programmes : DUNION illustre les unions discriminées (non encapsulées) ; INOUT illustre les paramètres [in], [out] ; REPAS illustre l’attribut represent_as ; XMIT illustre l’attribut transmit_as .
DYNEPT illustre une application cliente qui gère sa connexion au serveur via des points de terminaison dynamiques.
Le répertoire FILEREP contient quatre exemples illustrant la façon dont les développeurs peuvent écrire un service de réplication de fichiers simple, un service de réplication de fichiers multi-utilisateurs, un service prenant en charge les fonctionnalités de sécurité et un service utilisant des canaux asynchrones RPC.
Le répertoire HANDLES contient trois programmes, AUTO, CXHNDL et USRDEF, qui illustrent respectivement les handles auto_handle, [context_handle] et génériques (définis par l’utilisateur).
HELLO est une implémentation client/serveur de « Hello, world ».
Le répertoire PICKLE contient deux programmes : PICKLP illustre la sérialisation des procédures de données ; PICKLT illustre la sérialisation des types de données ; les deux programmes utilisent les attributs [encode] et [decode].
PIPES illustre l’utilisation du constructeur de type canal.
RPCSVC illustre l’implémentation d’un service avec RPC.
STROUT montre comment allouer de la mémoire sur un serveur pour un objet à deux dimensions (un tableau de pointeurs) et la transmettre au client en tant que paramètre [out]-only. Le client libère ensuite la mémoire. Cette technique permet au stub d’appeler le serveur sans savoir à l’avance quelle quantité de données seront retournées.
Ce programme permet également à l’utilisateur de compiler pour UNICODE ou ANSI.
Tous les fichiers sources et les fichiers makefile pour ces programmes se trouvent dans le Kit de développement logiciel (SDK) de plateforme.
Pour le développement d’applications RPC de base et des exemples plus simples, consultez les rubriques du didacticiel .