lpr-b:lpr-b-08:esercizi
Differenze
Queste sono le differenze tra la revisione selezionata e la versione attuale della pagina.
Entrambe le parti precedenti la revisioneRevisione precedenteProssima revisione | Revisione precedente | ||
lpr-b:lpr-b-08:esercizi [04/12/2008 alle 14:43 (17 anni fa)] – Andrea Corradini | lpr-b:lpr-b-08:esercizi [03/09/2009 alle 09:10 (16 anni fa)] (versione attuale) – Andrea Corradini | ||
---|---|---|---|
Linea 40: | Linea 40: | ||
Prima della terminazione il thread stampa il valore approssimato di pigreco calcolato fino a quel momento. | Prima della terminazione il thread stampa il valore approssimato di pigreco calcolato fino a quel momento. | ||
- | |||
- | //Soluzione proposta: [[http:// | ||
Linea 47: | Linea 45: | ||
Modificare il programma dell' | Modificare il programma dell' | ||
- | //Soluzione proposta: [[http:// | ||
===== Thread Pooling e Indirizzi IP ===== | ===== Thread Pooling e Indirizzi IP ===== | ||
Linea 59: | Linea 56: | ||
* Infine, si scorre l’**ArrayList**, | * Infine, si scorre l’**ArrayList**, | ||
- | //Soluzione proposta: [[http:// | ||
- | [[http:// | ||
- | [[http:// | ||
=== Esercizio 2 === | === Esercizio 2 === | ||
Linea 320: | Linea 314: | ||
- reperimento dell' | - reperimento dell' | ||
Quindi il messaggio può essere richiesto esplicitamente dal client oppure può essere notificato ad un client precedentemente registrato. | Quindi il messaggio può essere richiesto esplicitamente dal client oppure può essere notificato ad un client precedentemente registrato. | ||
+ | |||
+ | |||
+ | ===== Esercizi su Collezioni Sincronizzate e Secure Sockets===== | ||
+ | |||
+ | === Esercizio 1: Crawler === | ||
+ | |||
+ | Si realizzi un programma **Crawler** che analizza tutti i file presenti | ||
+ | in una directory specificata e nelle sue sottodirectory, | ||
+ | righe presenti in tali file che contengono una determinata parola chiave //P//. | ||
+ | |||
+ | Il programma deve attivare due thread, | ||
+ | |||
+ | * un thread produttore che enumera tutti i file e inserisce un riferimento | ||
+ | ad ogni file individuato in una coda bloccante; | ||
+ | |||
+ | * un consumatore che estrae i riferimenti ai file dalla coda e, per ognuno | ||
+ | di essi, visualizza tutte le righe che contengono la parola chiave //P//. | ||
+ | I due thread si scambiano i dati mediante una coda bloccante. Scegliere il | ||
+ | tipo di coda bloccante ritenuto più opportuno. | ||
+ | |||
+ | |||
+ | === Esercizio 2: Secure Sockets === | ||
+ | |||
+ | Per prima cosa, tramite **keytool** creare le chiavi pubbliche/ | ||
+ | (che andranno associate al server nel keystore) ed estrarre il certificato che va importato in | ||
+ | un truststore (sul client). Usando le chiavi svolgere i seguenti esercizi: | ||
+ | |||
+ | - Effettuare una comunicazione sicura su TCP (come nell’esempio del Web Server visto a lezione) modificando uno degli esercizi assegnati nelle lezioni precedenti in maniera da usare socket sicuri invece dei socket TCP; | ||
+ | - Modificare l’esercizio sulla votazione RMI proposto per l' | ||
+ | |||
+ | In entrambi i casi, dal lato client deve essere presente solo il file con il truststore | ||
+ | (non il file con le chiavi). Tutte le password usate (per esempio per il trustore/ | ||
+ | NON devono essere | ||
+ | inserite nei file sorgenti, ma (per esempio) passate come parametri da riga di comando | ||
+ | o inserite a runtime. | ||
====== ====== | ====== ====== | ||
[[start|Torna alla pagina principale di LPR-B-08]] | [[start|Torna alla pagina principale di LPR-B-08]] |
lpr-b/lpr-b-08/esercizi.1228401831.txt.gz · Ultima modifica: 04/12/2008 alle 14:43 (17 anni fa) da Andrea Corradini