====== Laboratorio di Programmazione di Rete Anno Accademico 2008-09 Polo Didattico La Spezia ====== **Docente: Laura Ricci** ===== Orario delle Lezioni ===== |Lunedì | 9-11 |Aula A2| |Lunedì | 11-13 |Laboratorio 2| |Lunedì | 14-16 |Laboratorio 2 (Recuperi e Correzione Esercizi)| ===== Orario di Ricevimento ===== |Pisa Mercoledì | 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, ByteArrayOutputStream **Sockets TCP** * Le classi Socket, ServerSocket **Remote Method Invocation** * Attivazione di registry * Esportazione di oggetti remoti * RMI callbacks ===== Materiale Didattico ===== **Libri di Testo** * Esmond Pitt, ** Fundamental Networking in Java**, ISBN 1-84628-030-3, Springer Verlag, 2005 NOTA BENE :Una copia di questo libro è disponibile presso il tutor didattico * Bruce Eckel, ** Thinking in JAVA, Volume 3 - Concorrenza e interfacce grafiche**, Pearson Education Italia, 2006 * Lucidi del Corso **Testi di Consultazione** * Harold, **JAVA Network Programming** 3nd edition O'Reilly, 2004. * K.Calvert, M.Donhaoo, TCP/IP Sockets in JAVA, Practical Guide for Programmers **Costrutti di base di JAVA:riferimenti ** * Cay Horstmann – Concetti di Informatica e Fondamenti di Java 2 [[http://projects.cli.di.unipi.it/LIP/|Corso di LIP: Fondamenti di JAVA]] ===== 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 ===== Progetto di Fine Corso ===== * ** {{http://www.di.unipi.it/~ricci/progettospezia0809.pdf|SRM: Un Sistema Tollerante ai Guasti per la Gestione di Risorse Condivise in una Rete WAN}} ** Modalità di Consegna del Progetto * **Il Progetto è valido fino al 30 aprile 2010 ** * E' possibile consegnare il progetto in uno qualsiasi momento, escluso il periodo 25 luglio - 30 agosto 2009 * L'esame (discussione del progetto+ orale) si terrà circa una settimana dopo la data di consegna =====Registro delle lezioni:===== ^ Giorno ^ Argomenti ^ Riferimenti ^ Lucidi |23/02/2009 |Introduzione al Corso, Thread Programming in JAVA| | |02/03/2009 |Thread Pools, InetAddresses| | |09/03/2009 |UDP Sockets, Streams| | |16/03/2009 |Thread:Sincronizzazione Implicita ed Esplicita| | |30/03/2009 |UDP:Costruzione di Pacchetti, Threads| | |06/04/2009 |UDP Multicast, Threads| | |20/04/2009 |TCPSockets| | |27/04/2009 |TCPSockets: Implementazione| | |04/05/2009 |Remote Method Invocation, Callbacks| | |11/05/2009 |GUI Programming: Introduzione, Presentazione del Progetto| | ===== Collegamenti alle pagine dei Corsi degli Anni Precedenti ===== [[labprogretespezia0708]]