Auswählen einer Protokollsequenz

Eine Protokollsequenz ist die Sprache, die ein Netzwerkbetriebssystem verwendet, um über das Netzwerk mit anderen Computern zu kommunizieren. Genauer ausgedrückt müssen RPC-Anwendungen eine Zeichenfolge angeben, die eine Kombination aus einem RPC-Protokoll, einem Transportprotokoll und einem Netzwerkprotokoll darstellt.

Microsoft RPC unterstützt drei RPC-Protokolle:

  • Network Computing Architecture connection-oriented protocol (NCACN)
  • Network Computing Architecture Datagram Protocol (NCADG)
  • Netzwerkcomputingarchitektur lokaler Remoteprozeduraufruf (NCALRPC)

RPC-Anwendungen können das NCALRPC-Protokoll verwenden, um Prozeduren aufzurufen, die von Serverprogrammen angeboten werden, die auf demselben Computer ausgeführt werden, auf dem das Clientprogramm ausgeführt wird. Dies ist bei weitem die effizienteste Methode zum Aufrufen von Funktionen in einem anderen Prozess auf demselben Computer.

Die Von Ihrer Anwendung verwendeten Transport- und Netzwerkprotokolle hängen davon ab, welche Protokolle das Netzwerk unterstützt. Viele Netzwerke, einschließlich des Internets, unterstützen TCP/IP. Andere gängige Transport- und Netzwerkprotokolle sind IPX/SPX, NetBIOS und AppleTalk DSP. Microsoft RPC unterstützt diese und andere Transport- und Netzwerkprotokolle. Eine vollständige Liste finden Sie unter Protokollsequenzkonstanten.

Wenn Ihre Anwendung automatische Bindungshandles verwendet, muss sie die Protokollsequenz nicht angeben. Wenn implizite oder explizite Handles verwendet werden, muss die Protokollsequenz abgerufen oder angegeben werden. Jedes verteilte System muss die Umgebung untersuchen, in der es bereitgestellt wird, um zu bestimmen, welche Protokollsequenz für diese Umgebung am besten geeignet ist.

Nicht alle Protokollsequenzen verfügen über eine entsprechende Funktionalität. Entwickler sollten überprüfen, ob die ausgewählte Protokollsequenz die erforderlichen Features unterstützt. Im Allgemeinen werden ncalrpc für die lokale Kommunikation und ncacn_ip_tcp oder ncacn_http für die Fernkommunikation empfohlen; sie funktionieren in allen Umgebungen, verfügen über eine optimale Leistung und unterstützen alle erforderlichen Features mit bewährten Methoden.

Clients können auch Protokollsequenzinformationen angeben, die sie aus Active Directory, der Registrierung, umgebungsvariablen, die vom Setupprogramm erstellt und initialisiert werden, anwendungsspezifische Konfigurationsdateien oder aus Literalzeichenfolgen im Programmquellcode.

Nachdem Ihr Clientprogramm über eine gültige Protokollsequenzzeichenfolge verfügt, kann es diese Informationen an die Funktionen RpcStringBindingCompose und RpcBindingFromStringBinding übergeben, um das Bindungshandle zu erstellen.