Home ApplicazioneProtocolli Rete Socket Client-Server Makefile Segnali Web LaTeX Bibliografia
Client-Server

Client-Server

Definizione

La struttura di un sistema informativo può essere il sistema clientserver. Un sistema clientserver è un’architettura di rete formata da due tipi di moduli: il client e ilserver, che generalmente sono eseguiti su macchine diverse collegate in rete. Più semplicemente, i sistemi clientserver sono un’evoluzione dei sistemi basati sulla condivisione semplice delle risorse. La presenza di un server permette ad un certo numero di client di condividerne le risorse, lasciando che sia il server a gestire gli accessi alle risorse per evitare conflitti di utilizzo tipici dei primi sistemi informatici. Un serverè un componente informatico che fornisce servizi ad altri componenti, i client,attraverso una rete. Un server svolge le operazioni necessarie per realizzare un servizio, ad esempio gestisce le banche dati, l’aggiornamento dei dati e la loro integrità. Con Client si indica una componente che accede ai servizi o alle risorse di un’altra componente, server, per effettuare alcune operazioni. Nel nostro caso, nel gioco del tris, il client richiede all’utente di inserire un simbolo (X) all’interno di un campo da gioco e il server legge quello che è stato scritto dal client e risponde con la stampa del campo più la sua mossa. Tipicamente il client gestisce la porzione di interfaccia utente dell’applicazione, verifica i dati inseriti e provvede ad inviare al server le richieste formulate dall’utente. Inoltre gestisce le risorse locali, come la tastiera, il monitor, la CPU, e le periferiche. In pratica il client è quella parte dell’applicazione che l’utente vede e con la quale interagisce.

Funzionamento

Un sistema client-server funziona secondo il seguente schema:
• Il client emette una richiesta verso il server con il suo indirizzo IP e il numero di porta (l’host) ricevente può così determinare a quale applicazione locale deve essere consegnato il messaggio), che definisce un servizio particolare del server.
• Il server riceve la richiesta e risponde attraverso l’indirizzo del terminale client e della sua porta.

Server Concorrenti e Iterativi • concorrente, il server soddisfa più client “contemporaneamente” attraverso la gestione ricorsiva delle richieste.
• iterativo,il server accoglie e soddisfa una sola richiesta alla volta, attraverso la tipica procedura a coda di attesa.
Numeri di porta • Le porte sono numeri (bit) utilizzati per identificare una particolare connessione tra quelle al momento attive su un dispositivo.
• In un determinato istante più processi possono usare i livelli di trasportoTCP o UDP;
• Sono necessari due livelli di indirizzamento:
– Ogni macchina sulla rete deve avere un indirizzo che la individui univocamente;
– Ogni applicazione su ogni macchina (multitasking) deve avere un porta che la individui univocamente;

Identificare una connessione • Una porta (well known) viene assegnata ad un servizio, in caso di server ricorsivi o concorrenti ad ogni processo “figlio” viene assegnata una porta effimera con la quale comunicherà con il client.
• TCP e UDP usano 4 informazioni per identificare una connessione.
– Indirizzo IP del server.
– Numero di porta del servizio lato server.
– Indirizzo IP del Client.
– Numero di porta del servizio lato Client.

Endpoints e Server concorrenti • L’endpoint è la coppia indirizzo IP e PORTA ed è sul protocollo IP.
• È considerato un server concorrente un server che genera un nuovo processo figlio per ogni richiesta Client.
• un Nuovo Client effettua una richiesta allo stesso server.
Gruppi
Applicazione
- Alessandro Angelone
- Mattia Vinante
- Patrick Coviello
- Daniel Amadori
Documentazione
- Daniele Balzamà
- Matteo Forti
- Lorenzo Monorchio
- Giovanni Pani
- Dyllan Ruales
- Nicole De Min
- Usama Chaudhry
Sviluppo Web
- Mateo Myftaraj
- Fabio Travagli
- Nicola Imperiale
- Andrea Pigozzo
LaTeX
- Michele Candioli
- Patrick Coviello
- Michael Barba
- Marco Filippi
Traduzione
- Samuele Aldi
- Emil Kob
- Luca Viola
- Stanislav Nacu
Project Leader
- Simone Tagliapietra

Coordinatori
- Prof. Iaccarino
- Prof. Minichiello