Stub
Der Stub besteht wie der Proxy aus einem oder mehreren Schnittstellenteilen und einem Manager. Jeder Schnittstellenstub stellt Code bereit, mit dem die Parameter und der Code, der eine der unterstützten Schnittstellen des Objekts aufruft, unmarshaliert werden. Jeder Stub stellt auch eine Schnittstelle für die interne Kommunikation bereit. Der Stub-Manager verfolgt die verfügbaren Schnittstellenstubs nach.
Es gibt jedoch die folgenden Unterschiede zwischen dem Stub und dem Proxy:
- Der wichtigste Unterschied besteht darin, dass der Stub den Client im Adressraum des Objekts darstellt.
- Der Stub wird nicht als Aggregatobjekt implementiert, da es nicht erforderlich ist, dass der Client als einzelne Einheit angezeigt wird. Jedes Element im Stub ist eine separate Komponente.
- Die Schnittstellenstubs sind privat und nicht öffentlich.
- Die Schnittstellenstubs implementieren IRpcStubBufferund nicht IRpcProxyBuffer.
- Anstatt Parameter zu packen, die gemarshallt werden sollen, entpackt der Stub sie, nachdem sie gemarshallt wurden, und packt dann die Antwort.
Struktur des Stubs
Das folgende Diagramm zeigt die Struktur des Stubs. Jeder Schnittstellenstub ist mit einer Schnittstelle für das Objekt verbunden. Der Kanal leitet eingehende Nachrichten an den entsprechenden Schnittstellenstub weiter. Alle Komponenten kommunizieren mit dem Kanal über IRpcChannelBuffer,die Schnittstelle, die Zugriff auf die RPC-Laufzeitbibliothek bietet.
