Strumenti Utente

Strumenti Sito


informatica:sol:laboratorio13:esercitazioni:esercitazione9

Differenze

Queste sono le differenze tra la revisione selezionata e la versione attuale della pagina.

Link a questa pagina di confronto

Entrambe le parti precedenti la revisioneRevisione precedente
informatica:sol:laboratorio13:esercitazioni:esercitazione9 [08/05/2013 alle 06:59 (12 anni fa)] – [Esercizio 3: Un server ed un client] Susanna Pelagattiinformatica:sol:laboratorio13:esercitazioni:esercitazione9 [08/05/2013 alle 07:02 (12 anni fa)] (versione attuale) – [Esercizio 5: Un server e molti client (multithreaded con socket)] Susanna Pelagatti
Linea 30: Linea 30:
 ==== Esercizio 5: Un server e molti client (multithreaded con socket) ==== ==== Esercizio 5: Un server e molti client (multithreaded con socket) ====
  
-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. +Creare un server che utilizzi le socket AF_UNIX e piu' thread concorrenti per gestire un numero di 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. 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.
informatica/sol/laboratorio13/esercitazioni/esercitazione9.1367996371.txt.gz · Ultima modifica: 08/05/2013 alle 06:59 (12 anni fa) da Susanna Pelagatti

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki