Strumenti Utente

Strumenti Sito


informatica:sol:laboratorio11: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 revisione Revisione precedente
Prossima revisione
Revisione precedente
informatica:sol:laboratorio11:esercitazioni:esercitazione9 [01/03/2011 alle 17:29 (13 anni fa)]
Susanna Pelagatti [Esercizio 4: Un server e molti client (multithreaded con socket)]
informatica:sol:laboratorio11:esercitazioni:esercitazione9 [01/03/2011 alle 17:30 (13 anni fa)] (versione attuale)
Susanna Pelagatti [Esercitazione 8: Pipe]
Linea 1: Linea 1:
-====== Esercitazione 8: Pipe ======+====== Esercitazione 9: Pipe e socket======
  
  
Linea 25: Linea 25:
  
  
-==== Esercizio 4: Un server e molti client (multithreaded con socket) ====+====== Esercizio 4: 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.  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. 
Linea 33: Linea 33:
 **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. **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.
  
-===== Esercizio 5: Un server e molti client (single thread) =====+====== Esercizio 5: Un server e molti client (single thread) ======
 Realizzare un server ed un client analoghi a quelli dell'esercizio 2 senza usare i therad. Utilizzare la //select// per risolvere il non determinismo fra l'accettazione di nuove connessioni e la lettura dei messaggi dai client gia' connessi. Realizzare un server ed un client analoghi a quelli dell'esercizio 2 senza usare i therad. Utilizzare la //select// per risolvere il non determinismo fra l'accettazione di nuove connessioni e la lettura dei messaggi dai client gia' connessi.
  
-===== Esercizio 6: Big and little endians =====+====== Esercizio 6: Big and little endians ======
 Scrivere un programma che converte il numero 0x3A4C rappresentato su due byte in //network byte order// e stampa il valore dei due byte da quello di indirizzo minore. Riconvertire il risultato in //host byte order// e stampare ancora i due byte a partire da quello di indirizzo minore. Scrivere un programma che converte il numero 0x3A4C rappresentato su due byte in //network byte order// e stampa il valore dei due byte da quello di indirizzo minore. Riconvertire il risultato in //host byte order// e stampare ancora i due byte a partire da quello di indirizzo minore.
  
  
-===== Esercizio 7: Get HTTP =====+====== Esercizio 7: Get HTTP ======
 Scrivere un programma C che scarica la home page dal server ''131.114.11.34'' inviando una richiesta Scrivere un programma C che scarica la home page dal server ''131.114.11.34'' inviando una richiesta
 <code> <code>
informatica/sol/laboratorio11/esercitazioni/esercitazione9.1299000547.txt.gz · Ultima modifica: 01/03/2011 alle 17:29 (13 anni fa) da Susanna Pelagatti