informatica:sol:laboratorio15:esercitazionia:esercitazione9
Differenze
Queste sono le differenze tra la revisione selezionata e la versione attuale della pagina.
informatica:sol:laboratorio15:esercitazionia:esercitazione9 [11/05/2015 alle 08:36 (10 anni fa)] – creata Massimo Torquati | informatica:sol:laboratorio15:esercitazionia:esercitazione9 [11/05/2015 alle 08:42 (10 anni fa)] (versione attuale) – Massimo Torquati | ||
---|---|---|---|
Linea 2: | Linea 2: | ||
Socket AF_UNIX, comunicazione client-server. Server multithreaded e gestione di più connessioni utilizzando la SC '' | Socket AF_UNIX, comunicazione client-server. Server multithreaded e gestione di più connessioni utilizzando la SC '' | ||
+ | |||
+ | ===== Esercizio 1 ===== | ||
+ | |||
+ | Realizzare in C un programma client ed un programma server. I due processi intergiscono utilizzando socket AF_UNIX. Il client apre una connessione verso il server ed invia richieste (sotto forma di stringhe) corrispondenti ad operazioni aritmetiche (es. 2+1, 3/4 + 2/7, sqrt(5) + 3.14, ...). | ||
+ | Il server accetta una stringa alla volta e per eseguire l' | ||
+ | Il messaggio di risposta del server è una stringa contenente il risultato calcolato. | ||
+ | La sequenza di operazioni termina quando il client riceve la stringa " | ||
+ | |||
+ | ===== Esercizio 2 ===== | ||
+ | |||
+ | Realizzare un programma C che implementa server che rimane sempre attivo in attesa di richieste da parte di uno o piu' processi client. Ogni client richiede al server la trasformazione di tutti i caratteri minuscoli di una stringa in caratteri maiuscoli (es. ciao –> CIAO). Per ogni nuova connessione il server lancia un thread POSIX che gestisce tutte le richieste del client e quindi termina la sua esecuzione quando il client chiude la connessione.\\ | ||
+ | Per testare il programma implementare uno script bash che lancia un certo numero di client ognuno che invia una o piu' richieste al server multithreaded.\\ | ||
+ | |||
+ | Possibile estensione: invece di attivare ogni volta un nuovo thread, gestire un pool di N threads ed effettuare lo scheduling delle richieste dei client sul pool di thread. | ||
+ | |||
+ | ===== Esercizio 3 ===== | ||
+ | |||
+ | Realizzare un server analogo a quello dell' | ||
informatica/sol/laboratorio15/esercitazionia/esercitazione9.1431333419.txt.gz · Ultima modifica: 11/05/2015 alle 08:36 (10 anni fa) da Massimo Torquati