22) Come viene implementata la modalità asincrona nell’RPC?

Nelle RPC il client è sincrono con il server

Per implementare la modalità asincrona possiamo intervenire sul cliente facendo in modo che:

La specifica di un time-out nullo avviene:

o, per ogni chiamata, nella

clnt_call(clnt, procnum,inproc,in,outproc,out,tout)

o, come settaggio globale che ha la precedenza su quello nella clnt_call, nella clnt_control, che ha lo scopo appunto di settare alcuni parametri globali fra cui il timeout:

clnt_control (clnt,CLSET_TIMEOUT, timeout)

CLIENT *clnt;

struct timeval timeout;

timeout. tv_sec = timeout. tv_usec = 0; /* nessun tempo di attesa */

Il servitore non deve inviare alcuna risposta e nella procedura di risposta si deve dichiarare xdr-void come funzione XDR e 0 come argomento

È di grande importanza l'uso di un trasporto affidabile per evitare di perdere messaggi.

 


Back
Index
Next