La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Progetto LPS-C Una rubrica interattiva

Presentazioni simili


Presentazione sul tema: "Progetto LPS-C Una rubrica interattiva"— Transcript della presentazione:

1 Progetto LPS-C 2004-2005 Una rubrica interattiva
prorub Progetto LPS-C Una rubrica interattiva

2 Struttura complessiva
client1 clientN server Processo server gestisce una rubrica centralizzata ogni voce ha (cognome, nome, città, tel, commento) es: De Rossi Mario Pisa Casa Bei Sandra Bari Cellulare

3 Come funziona rubserver Attivazione server:
file_voci Attivazione server: $$ rubserver file_voci attiva un processo server (demone, in background) che legge da file_voci la rubrica corrente, controlla il formato e la memorizza in una SD interna si mette in attesa di richieste dai client

4 Formato del database Un record per riga Ogni campo di lunghezza fissa
Cognome (40 char) Nome (40 char) Citta (20 char) Telefono (20 char) Commento (20 char) Se l’informazione è più corta si completa con blank (padding) Sono seq di caratteri senza terminatori di stringa (‘\O`)

5 Formato del database Sono rappresentati come 140 char
De Rossi Mario Pisa Casa Bei Sandra Bari Cellulare Sono rappresentati come 140 char De Rossi 32b Mario 35b Pisa 16b 10b Casa 16b Bei 37b Sandra 34 Bari 16b 12b Cellulare 11b

6 Come funziona (2) client $$ rubclient
rubclient -i rubclient -q rubclient -d $$ rubclient stampa un messaggio di uso (formato a piacere)

7 Come funziona (3) $$ rubclient -i
inserisce un record in modo interattivo (formato fisso nelle specifiche)

8 Come funziona (3.1) $$ rubclient -i Cognome ?

9 Come funziona (3.2) $$ rubclient -i $$ Cognome ? Rossi Nome ? Gino
Citta ? Pisa Telefono ? Commenti ? Ufficio Vuoi inserire il record: ‘Rossi Gino Pisa Ufficio ?’ (OK per confermare) OK $$

10 Come funziona (4) $$ rubclient -d chiave
cancella tutti i record del DB che contengono chiave in uno dei campi (es. ossi in Rossi)

11 Come funziona (4.1) $$ rubclient -d chiave $$
Vuoi cancellare tutti i record che contengono ‘chiave’? OK Cancellazione avvenuta $$

12 Come funziona (5) $$ rubclient -q chiave
mostra tutti i record del DB che contengono chiave in uno dei campi (es. ossi in Rossi)

13 Come funziona (5.1) $$ rubclient -q ossi $$
Rossi Gino Pisa Ufficio Grossi Mario Napoli Casa $$

14 Come funziona (5.2) $$ rubclient -q hossi $$
Nessun record contiene ‘hossi’ . $$

15 Struttura da realizzare
rubclient1 rubclientN rubserver Programma rubserver Programma rubclient

16 Struttura da realizzare: interazioni client server
/tmp/clientserver rubclient rubserver I client comunicano con il server con una pipe dal nome fissato richieste di operazioni, formato di lunghezza fissa (161, vediamo poi perché)

17 Struttura da realizzare: interazioni client server (2)
rubclient rubserver /tmp/pipe_ascolto I client creano una pipe dedicata per ricevere i messaggi di risposta del server in /tmp ne comunicano il nome al server assieme alle richieste

18 Struttura da realizzare: interazioni client server (3)
/tmp/clientserver rubclient -i pid 1234 rubserver /tmp/pipeas1234 Esempio di richiesta di aggiunta: A pipeas1234 10b De Rossi 32b Mario 35b Pisa 16b 10b Casa 16b

19 Struttura da realizzare: interazioni client server (4)
/tmp/clientserver rubclient -i pid 1234 rubserver /tmp/pipeas1234 Esempio di risposta del server:1+140 inserzione OK OK 139b

20 Struttura da realizzare: interazioni client server (5)
/tmp/clientserver rubclient -q pid 1237 rubserver /tmp/pipeas1237 Esempio di query: Q pipeas1237 10b ossi 136b

21 Struttura da realizzare: interazioni client server (6)
/tmp/clientserver rubserver rubclient -q pid 1237 /tmp/pipeas1237 Esempio di risposta : due msg 1+140 A De Rossi 32b Mario 35b Pisa 16b 10b Casa 16b STOP 137b

22 Protocollo complessivo client server
Specificato nel testo del progetto

23 Organizzazione complessiva
Scadenze consegne intermedie (+2 ogni consegna corretta in tempo) Frammento 1: 13/04/2005 Frammento 2: 2/05/2005 Frammento 3 (progetto completo): 4/07/2005 Almeno 15gg prima specifiche, software di test, makefile e script per la consegna Due esercitazioni dedicate a ogni frammento

24 Come e cosa si deve consegnare
Esclusivamente usando gli script forniti nel materiale del frammento corrispondente il README di ogni frammento spiega cosa occorre consegnare Relazione (solo con il progetto finale) strutture dati e principali algoritmi (descrizioni e motivazioni) struttura complessiva server e client istruzioni per l’utente

25 Data ultima Entro il 10 Febbraio 2006


Scaricare ppt "Progetto LPS-C Una rubrica interattiva"

Presentazioni simili


Annunci Google