Indice
Laboratorio di Programmazione di Rete Anno Accademico 2009-10
Polo Didattico La Spezia
Docente: Laura Ricci
Orario delle Lezioni
Lunedì | 9-11 | Aula A7 |
Lunedì | 11-13 | Laboratorio 2 |
Orario di Ricevimento
Giovedì ore 15.00-18.00, Pisa presso il mio Studio
Per qualsiasi problema potete contattarmi in qualsiasi momento via e-mail
Programma Preliminare
Thread Programming in JAVA
- Attivazione di threads. La classe Runnable
- Pool di threads: politiche per la gestione dei Pool
- Thread che restituiscono risultati: la classe Callable
- 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
- Invio di dati strutturati su stream: framing
- supporto per la gestione di socket TCP
- Implementazione di servers paralleli
Remote Method Invocation
- Attivazione di registry
- Esportazione di oggetti remoti
- RMI callbacks
Materiale Didattico
Lucidi del Corso
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
- Brian Goetz, Java Concurrency in Practice , Addison-Wesley, 2006.
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
Modalitá d'esame
Progetto+Orale
*Progetto Il progetto può essere svolto in gruppi di massimo due persone. Il progetto verrà consegnato alla fine di aprile e rimarrà valido fino alla fine di aprile 2011. Il progetto può essere consegnato in un qualsiasi momento (via e-mail), escluso il periodo 20 luglio 2010 - 31 agosto 2010.
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
* ConnectionBook: Un Sistema Per La Gestione Di Social Networks
Modalità di Consegna del Progetto
* Il Progetto è valido fino al 30 aprile 2011
* E' possibile consegnare il progetto in uno qualsiasi momento, escluso i periodi di vacanze
* L'esame (discussione del progetto+ orale) si terrà circa una settimana dopo la data di consegna
Materiale Integrativo
Tutorial sull'Assegnazione di Indirizzi di Multicast
TalkMsg.java, una classe di Supporto per l'esecuzione dell'esercizio assegnato nella lezione n.7
Registro delle lezioni:
Giorno | Argomenti | Lucidi | Data Ultimo Upload |
---|---|---|---|
22/02/2010 | Introduzione al Corso, Thread Programming | Thread: Attivazione, Interruzioni, Thread Pooling | 25/2/2010 |
01/03/2010 | Thread Pooling, Callable, Indirizzi IP | Thread Pooling, Callable, Inetaddress | 1/3/2010 |
08/03/2010 | TCP sockets, Filtri | Filtri, Modello Client/Server, TCP Sockets | 7/3/2010 |
15/03/2010 | Implementazione di Socket TCP | TCP:Implementazione | 14/3/2010 |
22/03/2010 | Thread: Sincronizzazione | Wait(), Notify(), NotifyAll() | 12/3/2010 |
14/04/2010 | Correzione dell'esercizio assegnato il 22/3/2010 | Esercizio | 22/3/2010 |
19/04/2010 | UDP Sockets, Datagram | DatagramPacket, DatagramSocket | 20/04/2010 |
26/04/2010 | UDP Multicast, Thread Pool: Politiche di Saturazione | Multicast, Saturazione | 25/04/2010 |
03/05/2010 | Remote Method Invocation | RMI | 03/05/2010 |
10/05/2010 | Correzione esercizio del 22/3/2010: Versione con Priorita' + Preemption | 22/3/2010 | |
17/05/2010 | Callbacks, Thread Miscellanea | CallBacks | 17/05/2010 |