Sistemi di elaborazione dell’informazione Modulo 4 -Tecniche di programmazione distribuita Unità didattica 1 - Socket library Ernesto Damiani Lezione 9.

Slides:



Advertisements
Presentazioni simili
Gestione di un Sistema di Talk multiutente
Advertisements

Socket Java Alberto Ferrari.
LIP: 4 Aprile 2008 ECCEZIONI. Eccezioni Come si definiscono eccezioni Come si lanciano Come si gestiscono (gestione esplicita o di default)
Lo sviluppo di applicazioni distribuite secondo il paradigma a scambio di messaggi Gianpaolo Cugola
Docente: Gabriele Lombardi
Programmazione distribuita in Java
JAVA E LA RETE L’architettura Java è network-ready
autore: Simone Artesino ( )
Programmazione in Java (9) Mauro Lorenzutti. 30/09/2005Corso Java - Mauro Lorenzutti2 Scaletta I/O Evoluto Serializzazione Comunicazioni via socket JUnit.
Cosa è una applicazione distribuita?
Sistemi di elaborazione dellinformazione Modulo 2 -Protocolli di rete TCP/IP Unità didattica 4 - Gestione degli indirizzi Ernesto Damiani Lezione 4 – NAT.
Programmazione concorrente
Modulo 2 - U.D. 3 - L.4 Ernesto Damiani - Sistemi di eleborazione dell'informazione.
Ingegneria del software Modulo 3 -Tecniche dimplementazione Unità didattica 2 -EJB Ernesto Damiani Università degli Studi di Milano Lezione 4 – Le transazioni.
Modulo 3 – U.D. 3 – Lez. 1 Ernesto Damiani - Sistemi di elaborazione dell'informazione.
Modulo n – U.D. n – Lez. n Nome Cognome – titolo corso.
Modulo 4 – U.D. 1 – Lez. 6 Ernesto Damiani - Sistemi di elaborazione dell'informazione.
1 Applet ed HTML Fondamenti di Informatica Corso D.
Corso di Algoritmi e Strutture Dati con Laboratorio A.A. 2014/15 Libreria standard.
Laboratorio di Servizi Web - servlet - Ardissono 1 Java Servlet API package javax.servlet: include classi e interfacce di gestione di servlet indipendenti.
Capitolo 12 Thread Lucidi relativi al volume: Java – Guida alla programmazione James Cohoon, Jack Davidson Copyright © The McGraw-Hill Companies.
1 Eccezioni in Java. 2 Ricordiamo che 4 una procedura può terminare –normalmente, ritornando un risultato –in modo eccezionale ci possono essere diverse.
Input-Output 16 Maggio Nei programmi sviluppati sino ad oggi abbiamo usato * output su schermo (con System.out.print e System.out.print ) * input.
Modulo n – U.D. n – Lez. n Nome Cognome – titolo corso.
Sistemi di elaborazione dell’informazione Modulo 3 -Protocolli applicativi Unità didattica 4 -Protocolli del Web Ernesto Damiani Lezione 2 – Complementi.
Sistemi di elaborazione dell’informazione Modulo 2 -Protocolli di rete TCP/IP Unità didattica 7 -Instradamento dinamico Ernesto Damiani Lezione 5 – Metriche.
Sistemi di elaborazione dell’informazione Modulo 2 -Protocolli di rete TCP/IP Unità didattica 4 -Gestione degli indirizzi Ernesto Damiani Lezione 1 – Assegnazione.
Sistemi di elaborazione dell’informazione Modulo 2 -Protocolli di rete TCP/IP Unità didattica 4 -Gestione degli indirizzi Ernesto Damiani Lezione 2 – DHCP.
Sistemi di elaborazione dell’informazione Modulo 3 - Protocolli applicativi Unità didattica 1 - Domain Name System Ernesto Damiani Lezione 2 – Caratteristiche.
Sistemi di elaborazione dell’informazione Modulo 3 -Protocolli applicativi Unità didattica 4 -Protocolli del Web Ernesto Damiani Lezione 1 – World Wide.
Sistemi di elaborazione dell’informazione Modulo 1 - Tecniche di comunicazione digitale Unità didattica 1 -Richiami sulla trasmissione digitale Ernesto.
Reti di calcolatori Modulo 2 -Protocolli di rete TCP/IP Unità didattica 2 – Il protocollo TCP/IP Ernesto Damiani Università degli Studi di Milano - SSRI.
Sistemi di elaborazione dell’informazione Modulo 1 -Tecniche di comunicazione digitale Unità didattica 3 – Modelli astratti di protocolli Ernesto Damiani.
Sistemi di elaborazione dell’informazione Modulo 3 - Protocolli applicativi Unità didattica 2 - Telnet, FTP e altri Ernesto Damiani Lezione 2 – Da FTP.
Sistemi di elaborazione dell’informazione Modulo 4 -Tecniche di programmazione distribuita Unità didattica 1 - Socket library Ernesto Damiani Lezione 3.
1 Windows Socket Programming Corso di Sistemi di Elaborazione delle Informazioni a.a 2006/2007 Autori: Alberto Colombo Fulvio Frati.
Sistemi di elaborazione dell’informazione Modulo 2 - Protocolli di rete TCP/IP Unità didattica 4 -Gestione degli indirizzi Ernesto Damiani Lezione 3 –
Ingegneria del software Modulo 2 -Il software come prodotto Unità didattica 2 - I costi del software Ernesto Damiani Università degli Studi di Milano Lezione.
Sistemi di elaborazione dell’informazione Modulo 1 -Tecniche di comunicazione digitale Unità didattica 2 -Standard di rete locale Ernesto Damiani Lezione.
Sistemi di elaborazione dell’informazione Modulo 3 -Protocolli applicativi Unità didattica 1 -Domain Name System Ernesto Damiani Lezione 1 – Nomi e indirizzi.
Sistemi di elaborazione dell’informazione Modulo 2 -Protocolli di rete TCP/IP Unità didattica 6 -User Datagram Protocol Ernesto Damiani Lezione 1 – UDP.
Sistemi di elaborazione dell’informazione Modulo 3 -Protocolli applicativi Unità didattica 1 -Domain Name System Ernesto Damiani Lezione 3 – Complementi.
Sistemi di elaborazione dell’informazione Modulo 4 -Tecniche di programmazione distribuita Unità didattica 1 -Socket library Ernesto Damiani Lezione 1.
Sistemi di elaborazione dell’informazione Modulo 4 - Tecniche di programmazione distribuita Unità didattica 1 - Socket library Ernesto Damiani Lezione.
Sistemi di elaborazione dell’informazione Modulo 4 -Tecniche di programmazione distribuita Unità didattica 1 - Socket library Ernesto Damiani Lezione 8.
Sistemi di elaborazione dell’informazione Modulo 4 - Tecniche di programmazione distribuita Unità didattica 1 -Socket library Ernesto Damiani Lezione 2.
Sistemi di elaborazione dell’informazione Modulo 4 - Tecniche di programmazione distribuita Unità didattica 1 -Socket library Ernesto Damiani Lezione 4.
Progetto e Realizzazione di un servizio di Chat Progetto di: Nicoli Leonardo Corso di: Reti di Calcolatori L-S.
Ingegneria del software Modulo 1 -Introduzione al processo software Unità didattica 3 -Modelli di fase d’analisi Ernesto Damiani Università degli Studi.
Sistemi di elaborazione dell’informazione Modulo 3 -Protocolli applicativi Unità didattica 5 -Amministrazione remota Ernesto Damiani Lezione 1 – Gestione.
Ingegneria del software Modulo 4 -Processi software Unità didattica 2 – eXtreme Programming Ernesto Damiani Università degli Studi di Milano Lezione 1.
Sistemi di elaborazione dell’informazione Modulo 1 -Tecniche di comunicazione digitale Ernesto Damiani Lezione 2 – Rete telefonica Unità didattica 1 -Richiami.
Sistemi di elaborazione dell’informazione Modulo 2 -Protocolli di rete TCP/IP Unità didattica 3 -Instradamento statico Ernesto Damiani Lezione 2 – ICMP.
Sistemi di elaborazione dell’informazione Modulo 3 -Protocolli applicativi Unità didattica 2 -Telnet, FTP e altri Ernesto Damiani Lezione 4 – Napster e.
Ernesto Damiani Lezione 5 – Gnutella Sistemi di elaborazione dell’informazione Modulo 3 -Protocolli applicativi Unità didattica 2 - Telnet, FTP e altri.
Sistemi di elaborazione dell’informazione Modulo 3 -Protocolli applicativi Unità didattica 3 -Protocolli di posta elettronica Ernesto Damiani Lezione 3.
Sistemi di elaborazione dell’informazione Modulo 4 - Tecniche di programmazione distribuita Unità didattica 1 -Socket library Ernesto Damiani Lezione 5.
Protocolli avanzati di rete Modulo 3 -Wireless Network Unità didattica 6 -Protocolli Ernesto Damiani Università degli Studi di Milano Lezione 2.
ArchJava e AcmeStudio Studio delle tecnologie e case study Studente: Marco Di Sabatino Di Diodoro Esame: Analisi e Testing di sistemi a componenti Professore:
Sistemi di elaborazione dell’informazione Modulo 2 -Protocolli di rete TCP/IP Unità didattica 6 -User Datagram Protocol Ernesto Damiani Lezione 2 – UDP.
1 Java primo contatto Quando le classi fanno la differenza …
1 Input / Output Spesso un programma deve acquisire dati da una sorgente esterna o inviare informazioni a una destinazione esterna. L’informazione può.
13/08/02Input 1 Interagire con il computer Da tastiera Da riga di comando Funzioni di conversione.
1 Metodo I metodi sono uno strumento che i programmatori usano per strutturare i programmi, sia per renderli più facili da capire che per permettere il.
1 Input / Output Spesso un programma deve acquisire dati da una sorgente esterna o inviare informazioni a una destinazione esterna. L’informazione puo’
Stringhe in Java. Definire una stringa. Definire una stringa in Java Il modo più semplice e diretto per creare un oggetto di tipo String è assegnare alla.
Socket programming in Java La realizzazione di un server in Java consente di scrivere una sola versione eseguibile su diverse piattaforme. Il linguaggio.
Socket programming in Java La realizzazione di un server in Java consente di scrivere una sola versione eseguibile su diverse piattaforme. Il linguaggio.
Corso di Reti di Calcolatori Programmazione Java
Dalla programmazione tradizionale al paradigma OO
Transcript della presentazione:

Sistemi di elaborazione dell’informazione Modulo 4 -Tecniche di programmazione distribuita Unità didattica 1 - Socket library Ernesto Damiani Lezione 9 – Gestione delle eccezioni

Eccezioni socket try { Socket client = new Socket(host, port); handleConnection(client); } catch(UnknownHostException uhe) { System.out.println("Unknown host: " + host); uhe.printStackTrace(); } catch(IOException ioe) { System.out.println("IOException: " + ioe); ioe.printStackTrace(); }

Eccezioni ServerSocket (1) public ServerSocket(int port) throws IOException –Crea un socket server su una porta specificata. –Un numero di porta 0 crea un socket sulla prima porta libera. –Si può poi usare getLocalPort() per identificare la porta su cui il socket è in ascolto. –La lunghezza massima della coda per i three-way handshake in sospeso (richieste di connessione) è impostata a 50. –Se una richiesta di connessione arriva quando la coda è piena, la connessione viene rifiutata.

Eccezioni ServerSocket (2) throws: –IOException Se si verifica un errore I/O quando si apre il socket. –SecurityException Se esiste un manager della sicurezza e il suo metodo checkListen non consente il funzionamento.

Server in loop (1) // SimpleServerLoop.java: un semplice programma server che gira per sempre in un singolo thread import java.net.*; import java.io.*; public class SimpleServerLoop { public static void main(String args[]) throws IOException { // Register service on port 1234 ServerSocket s = new ServerSocket(1234); while(true) { Socket s1=s.accept(); // Aspetta e accetta una connessione

Server in loop (2) // Ottiene un flusso di comunicazione associato al socket OutputStream s1out = s1.getOutputStream(); DataOutputStream dos = new DataOutputStream (s1out); // Manda una stringa! dos.writeUTF("Hi there"); // Chiude la connessione, ma non il socket server dos.close(); s1out.close(); s1.close(); }

Server multithread FINE Per servire contemporaneamente client multipli. Internet Thread Server Processo Client 1 Processo Client 2 Processo Server