Esempi (RPC)

Platform Software Development Kit (SDK) include esempi che illustrano diversi concetti relativi alla chiamata rpc (Remote Procedure Call), come indicato di seguito:

  • ASYNCRPC illustra la struttura di un'applicazione RPC che usa chiamate asincrone di routine remote. Illustra inoltre vari metodi di notifica del completamento della chiamata.

  • CLUUID illustra l'uso dell'UUID dell'oggetto client per consentire a un client di selezionare da più implementazioni di una procedura remota.

  • La directory DATA contiene quattro programmi: DUNION illustra unioni discriminate (non incapsulate); INOUT illustra i parametri [in], [out] ; REPAS dimostra l'attributo represent_as ; XMIT illustra l'attributo transmit_as .

  • DYNEPT illustra un'applicazione client che gestisce la connessione al server tramite endpoint dinamici.

  • La directory FILEREP contiene quattro esempi che illustrano come gli sviluppatori possono scrivere un semplice servizio di replica di file, un servizio di replica di file multiutente, un servizio che supporta le funzionalità di sicurezza e un servizio tramite pipe asincrone RPC.

  • La directory HANDLE contiene tre programmi, AUTO, CXHNDL, USRDEF, che illustrano rispettivamente auto_handle, [context_handle] e handle generici (definiti dall'utente).

  • HELLO è un'implementazione client/server di "Hello, world".

  • La directory PICKLE contiene due programmi: PICKLP illustra la serializzazione delle procedure di dati; PICKLT illustra la serializzazione dei tipi di dati; entrambi i programmi usano gli attributi [encode] e [decode].

  • PIPE illustra l'uso del costruttore di tipo pipe.

  • RPCSVC illustra l'implementazione di un servizio con RPC.

  • STROUT illustra come allocare memoria in un server per un oggetto bidimensionale (una matrice di puntatori) e passarla nuovamente al client come parametro [out]-only. Il client libera quindi la memoria. Questa tecnica consente allo stub di chiamare il server senza sapere in anticipo quanti dati verranno restituiti.

    Questo programma consente inoltre all'utente di compilare per UNICODE o ANSI.

Tutti i file di origine e i makefile per questi programmi si trovano in Platform SDK.

Per gli esempi di sviluppo di applicazioni RPC di base e più semplici, vedere gli argomenti dell'esercitazione .