Stub client:
* Posizione: Risiede sulla macchina client.
* Funzione: Funge da proxy per la procedura remota. Quando il client chiama una procedura remota, in realtà chiama una funzione nello stub client.
* Responsabilità:
* Marshalling: Pacchetti gli argomenti della procedura in un formato adatto alla trasmissione sulla rete (ad esempio, serializzare le strutture di dati).
* Comunicazione di rete: Invia i dati di marshalls al server.
* UnMarshalling: Riceve la risposta dal server e lo disimballa (UnMarshalling) in un formato utilizzabile per il client.
* Gestione degli errori: Gestisce errori di rete e altre eccezioni che possono verificarsi durante la comunicazione.
* Presentazione: Presenta il risultato della chiamata della procedura remota all'applicazione del client come se fosse una chiamata locale.
Server Stub:
* Posizione: Risiede sulla macchina del server.
* Funzione: Agisce come proxy per l'implementazione effettiva del server della procedura remota. Riceve richieste dallo stub client e interagisce con il server.
* Responsabilità:
* UnMarshalling: Riceve i dati di marshalls dallo stub client e li disimballano (UnMarshalling) in un formato adatto alla procedura del server.
* Invocazione della procedura: Chiama l'implementazione del lato server effettivo della procedura remota con gli argomenti non marshall.
* Marshalling: Pacchetti il risultato della procedura (e di eventuali informazioni di errore) in un formato adatto alla trasmissione al client.
* Comunicazione di rete: Invia la risposta di marshalling allo stub client.
Analogia:
Pensa a uno stub client e uno stub server come due operatori telefonici. Il client (tu) parla con lo stub client (operatore 1), che quindi trasmette il messaggio allo stub server (operatore 2) su una linea telefonica diversa. L'operatore 2 interagisce quindi con il server (la persona che stai chiamando) e trasmette la risposta tramite l'operatore 1. Non devi preoccuparti dei dettagli di come funzionano le linee telefoniche; Gli operatori gestiscono tutto questo per te.
in sostanza: Gli stub client e server gestiscono i dettagli della comunicazione di rete, della serializzazione dei dati e della gestione degli errori, consentendo agli sviluppatori di concentrarsi sulla logica delle loro applicazioni piuttosto che sulla complessità del calcolo distribuito. Forniscono un'interfaccia pulita e astratta alle chiamate di procedura remota.
software © www.354353.com