ESERCIZIO 1
Scrivere due programmi C che realizzano un server ed un client che intergiscono con socket AF_UNIX come nell'esempio visto a lezione, Il server, creata la connessione, si mette in attesa di un messaggio da parte del client che contiene “Hallo” ed il PID del client. Alla ricezione invia un messaggio di “Bye” con il proprio PID e chiude la comunicazione. Sia il server che il client stampano il messaggio ricevuto sullo standard output prima di terminare.
ESERCIZIO 2
Estendere l'esercizio precedente in modo che il server accetti la connessione da piu' processi client. Ogni client all'avvio decide quanti messeggi inviare (casualmente fra 1 e N_MSG_MAX). Tutti i messaggi inviati contengono il PID del processo client che li invia. Il srever stampa tutti i messaggi ricevuti sullo standard output.
Il server e' realizzato usando piu' thread. Un thread dispatcher che accetta le connessioni dai vari client e un thread worker per ogni client. Il thread worker viene attivato appena la connessione si stabilisce e si occupa di leggere i messaggi del client e stamparli sullo stdout. Quando il client termina l'invio (EOF) il thread worker corrispondente termina e libera la memoria occupata.
Elaborazione: Invece di attivate un thread worker per ogni client attivare un pool di worker all'inizio e schedulare le richieste arrivate sul pool in modo da bilanciare il carico dei vari worker.