Selezione di una sequenza di protocollo

Una sequenza di protocollo è il linguaggio usato da un sistema operativo di rete per comunicare tramite rete ad altri computer. In termini più specifici, le applicazioni RPC devono specificare una stringa che rappresenta una combinazione di un protocollo RPC, un protocollo di trasporto e un protocollo di rete.

Microsoft RPC supporta tre protocolli RPC:

  • Network Computing Architecture connection-oriented protocol (NCACN)
  • Protocollo NCADG (Network Computing Architecture datagram protocol)
  • Network Computing Architecture local remote procedure call (NCALRPC)

Le applicazioni RPC possono usare il protocollo NCALRPC per richiamare le procedure offerte dai programmi server in esecuzione nello stesso computer in cui viene eseguito il programma client. Questo è, di gran lunga, il metodo più efficiente per chiamare le funzionalità in un processo diverso nello stesso computer.

I protocolli di trasporto e di rete usati dall'applicazione dipendono dai protocolli supportati dalla rete. Molte reti oggi, tra cui Internet, supportano TCP/IP. Altri protocolli di trasporto e di rete comuni sono IPX/SPX, NetBIOS e AppleTalk DSP. Microsoft RPC supporta questi protocolli di trasporto e di rete. Per un elenco completo, vedere Costanti della sequenza di protocolli.

Quando l'applicazione usa handle di associazione automatici, non è necessario specificare la sequenza di protocollo. Se usa handle impliciti o espliciti, deve ottenere o specificare la sequenza di protocollo. Ogni sistema distribuito deve esaminare l'ambiente in cui verrà distribuito per determinare quale sequenza di protocollo è più adatta per tale ambiente.

Non tutte le sequenze di protocollo hanno funzionalità equivalenti. Gli sviluppatori devono verificare che la sequenza di protocollo scelta supporti le funzionalità necessarie. In generale, sono consigliati ncalrpc per le comunicazioni locali e ncacn_ip_tcp o ncacn_http per le comunicazioni remote; funzionano in tutti gli ambienti, hanno prestazioni ottimali e supportano tutte le funzionalità necessarie e consigliate.

I client possono anche specificare informazioni sulla sequenza di protocollo ottenute da Active Directory, dal Registro di sistema, dalle variabili di ambiente create e inizializzate dal programma di installazione, dai file di configurazione specifici dell'applicazione o dalle stringhe letterali nel codice sorgente del programma.

Dopo che il programma client ha una stringa di sequenza di protocollo valida, può passare tali informazioni alle funzioni RpcStringBindingCompose e RpcBindingFromStringBinding per creare l'handle di associazione.