La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Il modello cliente/servente e linterfaccia Socket per limplementazione di applicazioni Prof. Alfio Lombardo.

Presentazioni simili


Presentazione sul tema: "Il modello cliente/servente e linterfaccia Socket per limplementazione di applicazioni Prof. Alfio Lombardo."— Transcript della presentazione:

1 Il modello cliente/servente e linterfaccia Socket per limplementazione di applicazioni Prof. Alfio Lombardo

2 Processo A Processo B Messaggio Processo A Messaggio IL PROBLEMA DEL RENDEZ-VOUS Processo A Processo B

3 Processo A Processo B Messaggio Processo A Messaggio IL PROBLEMA DEL RENDEZ-VOUS

4 CLIENTE SERVENTE CLIENTE Richiesta Risposta MODELLO CLIENTE - SERVENTE CLIENTE

5 Remote Login Server INTERNET Cliente La gestione della concorrenza nel server

6 CLIENTE 2CLIENTE 1 SERVENTE MASTER CLIENTE 1 Connessione 2 SERVENTE SLAVE 1 Richiesta Risposta Connessione 1

7 SERVENTE Richiesta Risposta CLIENTE I Scenario: Ack Write LA GESTIONE DEI CRASH NEL SERVER

8 SERVENTE Richiesta Risposta CLIENTE I Scenario: AckWrite No Transaction

9 SERVENTE Richiesta Risposta CLIENTE II Scenario Write Ack

10 SERVENTE Richiesta CLIENTE ? Richiesta Risposta II Scenario Write Ack Duplicate Transaction

11 Ritrasmetti in S0 AF(W)AWFF(AW) Ripristino dei guasti nel Server Strategia del Cliente Ritrasmetti OK DUP Non Ritrasmetti OK NO OK Ritrasmetti in S1 NOOK DUPOK WF(A)F(WA)WAF Strategia del Servente Ack Write Ack DUP OKNODUP Ritrasmetti in S0 OKNO S 1 = stato di attesa della conferma

12 POLITICHE DI GESTIONE DEI GUASTI NEL SERVER At most once At least once

13 AP1 AP2 AP3 Funzioni di sistema Kernel del Sistema Operativo contenente il software TCP/UDP Linterfaccia socket

14 Il concetto di Socket Definizione: Generalizzazione del meccanismo di accesso ai file in Unix che fornisce un punto di accesso per la comunicazione

15 Appl. process Appl. process Il canale di comunicazione tra due Applicativi è rappresentato da: Client port Addr, IP Client Addr, IP Server Addr, Server port Addr Un socket identifica localmente il canale tra due Applicativi

16 Modalita c.o.: Servente Socket( ) Bind( ) Listen( ) Accept( ) Fork( ) Recv( ) listen(socket,qlength) bind (socket,localaddr,addrlen) Send( ) newsocket accept(socket,addr,addrlen) fork( ) Close( ) close(socket) recv(sock,*buf,length,flags) send(sock,*buf, length,flags) socket = socket(family, type, protocol) family ::= {PF_INET, PF_APPLETALK, PF_PUP,...} type::= {SOCK_STREAM, SOCK_DGRAM, …..} master slave

17 Modalita c.o.: Cliente Socket( ) Connect( ) Send( ) Recv( ) int connect(socket,destaddr,addrlength )

18 Cliente Socket( ) Connect( ) Send( ) Recv( ) Servente Socket( ) Bind( ) Listen( ) Accept( ) Fork( ) Close( )Recv( ) Send( ) master slave

19 SendTo( ) Bind( )Socket( ) Servente SendTo( ) RecvFrom( )Bind( ) Socket( ) Cliente RecvFrom( ) int recvfrom(sock,*buf, length, flags,sourceaddr,addrlength ) int sendto(sock,*buf, length, flags,destaddr,addrlength ) Modalita c.l.

20 Macrolezione 05 (ipermediale) Inter-Process Communication Esercizio consigliato: IPC


Scaricare ppt "Il modello cliente/servente e linterfaccia Socket per limplementazione di applicazioni Prof. Alfio Lombardo."

Presentazioni simili


Annunci Google