====== Laboratorio di Programmazione di Rete 06/07====== ====== Informatica Applicata ====== Docente: **Laura Ricci** ===== 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 ===== * [[ http://www.di.unipi.it/~ricci/progettospezia0607.pdf |Testo del Progetto]] il progetto può essere svolto in gruppi di due persone al massimo e rimane valido fino al 30/04/2008. **ATTENZIONE: LA CONSEGNA DEL PROGETTO E' PROROGATA AL 31/5/2008 !!** 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 * [[ http://www.di.unipi.it/~ricci/e-mule-report.pdf |Rapporto sul Protocollo eMule]] * Orale: verte sulla discussione del progetto e in generale sugli argomenti trattati nel corso,in particolare sulla parte del corso riguardante i threads ===== Lucidi delle Lezioni ===== [[ http://www.di.unipi.it/~ricci/Lezione19-02-2007.pdf |Threads JAVA: Introduzione 19-02-2007]] [[ http://www.di.unipi.it/~ricci/Lezione26-02-2007.pdf |Thread Pooling, La Classe InetAddress 26-02-2007]] [[ http://www.di.unipi.it/~ricci/Lezione05-03-2007.pdf |Sincronizzazione di Metodi, Le Classi Datagrampacket e Datagramsocket 05-03-2007]] [[ http://www.di.unipi.it/~ricci/CooperazioneThreads12-03-07.pdf |Cooperazione tra Threads: wait(),notify(),notifyall() 12-03-2007]] [[ http://www.di.unipi.it/~ricci/Lezione26-03-07.pdf |Streams, Invio di oggetti in pacchetti UDP 26-03-2007]] [[ http://www.di.unipi.it/~ricci/Lezione16-04-07.pdf |IP Multicast 16-04-2007]] [[ http://www.di.unipi.it/~ricci/Lezione23-04-2007.pdf |TCP Sockets, Schedulazione di threads 23-04-2007]] [[ http://www.di.unipi.it/~ricci/Lezione30-04-07.pdf |Remote Method Invocation 30-04-2007]] [[ http://www.di.unipi.it/~ricci/Lezione07-05-07.pdf |Nozioni di Grafica per lo Svolgimento del Progetto]] [[ http://www.di.unipi.it/~ricci/Lezione21-05-07.pdf |RMI Callbacks, Sincronizzazione di Threads 21-05-2007]]