====== Laboratorio di Programmazione di Rete Anno Accademico 2007-08 Polo Didattico La Spezia ====== Docente: **Laura Ricci** ===== Collegamenti alle pagine dei Corsi degli Anni Precedenti ===== [[LPR-IA-Anno Accademico 2006-07]] ===== Orario delle Lezioni ===== |Lunedì | 9-11 |Aula 3| |Lunedì | 11-13 |Laboratorio| |Lunedì | 14-16 |Laboratorio (Recuperi e Correzione Esercizi)| ===== Orario di Ricevimento ===== |Pisa Giovedì | 15-18 |Stanza n. 348 DE| Per qualsiasi problema potete contattarmi via e-mail ===== Programma Preliminare ===== **Gestione di threads in JAVA** * Attivazione di threads. La classe Runnable * Pool di threads: gestione in JAVA 5 * Stati di un thread, metodi join, interrupt * Sincronizzazione, concetto di monitor * Metodi Synchronized, sezioni critiche, wait(), notify(), notifyall() **Gestione di indirizzi IP** * Classe InetAddress **JAVA streams ** * caratteristiche generali **Sockets UDP** * DatagramSockets, DatagramPackets * Generazione di pacchetti UDP: Le classi ByteArrayInputStream, ByteArrayOutputSteram **Sockets TCP** * Le classi Socket, ServerSocket **Remote Method Invocation** * Attivazione di registry * Esportazione di oggetti remoti * RMI callbacks ===== Materiale Didattico ===== * Harold, JAVA Network Programming 3nd edition O'Reilly, 2004. Questo testo contiene la descrizione delle librerie JAVA che devono essere utilizzate per lo sviluppo del progetto. Attenzione: usare la terza edizione che fa riferimento a JAVA 1.5! (disponibile in libreria) * Bruce Eckel- Thinking in JAVA, Volume 3 - Concorrenza e interfacce grafiche, Pearson Education Italia, 2006 * Lucidi del Corso ===== Modalitá d'esame ===== **Progetto+Orale.** ***Progetto** Il progetto può essere svolto in gruppi di massimo due persone. Gli studenti che non hanno frequentato le lezioni di laboratorio (studenti lavoratori) sono pregati di mettersi in contatto con me prima dell'inizio dello svolgimento del progetto ***Orale**: verte sulla discussione del progetto e in generale sugli argomenti trattati nel corso. * Tutti gli studenti che consegneranno una soluzione corretta degli esercizi assegnati a lezione, entro 15 giorni dalla presentazione degli esercizi, otterranno un 'bonus' per l'esame finale **Testo del Progetto valido fino al 30/04/09:** [[http://www.di.unipi.it/~ricci/progettospezia0708.pdf|Mini Kazaa: Un Sistema P2P per lo Scambio di Files]] ===== Registro delle lezioni ===== ^ Giorno ^ Argomenti ^ Riferimenti ^ Lucidi |18/2/2008 |Threads JAVA: Introduzione| | |25/2/2008 |Thread Pooling, La Classe InetAddress| | |3/3/2008 |Threads:Sincronizzazione| | |10/3/2008 |Connection Oriented Sockets (1)| | |17/3/2008 |Connection Oriented Sockets (2)| | |7/4/2008 |UDP Sockets| | |21/4/2008 |Threads: Schedulazione, Sincronizzazione| | |28/4/2008 |Remote Method Invocation| | |5/5/2008 |URL, Multicast| | |12/5/2008 |RMI CallBacks, Presentazione del Progetto| | |20/5/2008 |GUI Programmaing| | |20/5/2008 |Network Diagnosis| | |20/5/2008 |NAT e Firewalls| |