Server Sequenziale. Server Concorrente. Esercitazione: Socket Java con connessione
|
|
- Emilio Bernasconi
- 6 anni fa
- Visualizzazioni
Transcript
1 Esercitazione: Socket Java con connessione Sviluppare un applicazione C/S che effettui il trasferimento di un file dal client al server (put) usando una connessione. In particolare nel servizio: il client chiede all utente il nome di un file da trasferire, si connette al server (con java.net.socket), crea uno stream di output sulla connessione attraverso cui inviare il file selezionato, preceduto dal suo nome. Se anziché il nome del file l utente inserisce un asterisco, il client invia al server tutti i file di testo contenuti nel direttorio corrente. Ogni file è preceduto dal nome del file stesso. Server Sequenziale Std Input nome file client put file rete put file server file Std Output Server Concorrente il server attende una richiesta di connessione da parte del client (su java.net.serversocket), usa la socket (java.net.socket) prodotta dalla connessione per creare uno stream di input da cui riceve il nome del file e il file che stamperà poi a video, dopodiché chiude la connessione. In caso di invio ripetuto, la stessa connessione viene usata per tutti i file (nome e contenuto) fino al termine della connessione da parte del cliente nome file2 client client client nome file1 put file2 nome file3 put file1 put file3 rete file1 serverthread1 put file1 serverthread3 serverthread2 put file2 server put file3 file2 file3 Applicazioni Distribuite e Servizi di Rete Java socket stream - 1 Applicazioni Distribuite e Servizi di Rete Java socket stream - 2
2 Filtraggi Filtro Input FILTRO Output Un filtro è un programma che consuma tutto il suo input e porta l uscita sull output Possiamo pensare di combinarne in una pipeline Esempi di creazione stream di input da socket: DataInputStream insock = new DataInputStream(socket.getInputStream()); Un filtro potrebbe leggere da uno stream fino alla fine del file e poi lanciare in output delle indicazioni Vedi la trasferisci_a_byte InputStreamReader isr = new InputStreamReader(socket.getInputStream()); BufferedReader in = new BufferedReader(isr); Esempi di creazione stream di output su socket: DataOutputStream dos = new DataOutputStream(socket.getOutputStream()); OutputStreamWriter osw = new OutputStreamWriter(socket.getOutputStream()); BufferedWriter bw = new BufferedWriter(osw); PrintWriter out = new PrintWriter( bw, true); Applicazioni Distribuite e Servizi di Rete Java socket stream - 3 Applicazioni Distribuite e Servizi di Rete Java socket stream - 4
3 Schema di soluzione: il Client 1. Creazione socket ed eventuale settaggio opzioni: socket = new Socket( addr, PutFileServerSeq.PORT); socket.setxxx( ); 2. Interazione da console con l utente: BufferedReader stdin = new BufferedReader( new InputStreamReader(System.in)); System.out.print("Domanda "); String richiesta = stdin.readline(); 3. Creazione dello stream di output sulla socket: outsock = new DataOutputStream(socket.getOutputStream()); 4. Creazione dello stream di input da file: infile = new DataInputStream( new FileInputStream(nomeFile)); 5. Invio dei dati al server: outsock.writeutf(nomefile); FileUtility.trasferisci_a_byte (infile, outsock); 6. Chiusura della socket: Schema di soluzione: il Server 1. Creazione socket ed eventuale settaggio opzioni: serversocket = new ServerSocket(PORT); serversocket.setreuseaddress(true); 2. Attesa/accettazione di richiesta di connessione: clientsocket = serversocket.accept(); 3. Creazione dello stream di input sulla socket: insock = new DataInputStream( clientsocket.getinputstream()); 4. Ricezione dei dati dal client e invio dei dati sulla console in uscita nomefile=insock.readutf(); FileUtility.trasferisci_a_byte( insock, new DataOutputStream(System.out)); 5. Chiusura della connessione con il client: clientsocket.close(); 6. Chiusura della socket di ascolto: serversocket.close(); Applicazioni Distribuite e Servizi di Rete Java socket stream - 5 Applicazioni Distribuite e Servizi di Rete Java socket stream - 6
4 FileUtility public class FileUtility static protected void trasferisci_a_byte( DataInputStream src, DataOutputStream dest) throws IOException // ciclo di lettura da sorgente // e scrittura su destinazione byte buffer=0; int val=0; try while ((buffer=src.readbyte())!= -1) dest.writebyte(buffer); catch(eofexception e) dest.writebyte(-1); dest.flush(); PutFile Client public class PutFileClient public static void main(string[] args) throws IOException InetAddress addr=null; Socket socket=null; DataInputStream infile=null; DataOutputStream outsock=null; // determinazione indirizzo server try if (args.length == 0) addr = InetAddress.getByName(null); else addr = InetAddress.getByName(args[0]); catch(unknownhostexception e) System.exit(1); // creazione stream di input da tastiera BufferedReader stdin = new BufferedReader( new InputStreamReader(System.in)); try while (stdin.readline()!=null) // richiesta dati da utente try System.out.print("Nome file (estensione)? "); nomefile = stdin.readline(); catch (Exception e) // se la richiesta è corretta creo socket e stream if (nomefile.equals("*") (new File(nomeFile)).exists()) // creazione socket try socket = new Socket( addr, PutFileServerSeq.PORT); socket.setsotimeout(30000); catch (Exception e) Applicazioni Distribuite e Servizi di Rete Java socket stream - 7 Applicazioni Distribuite e Servizi di Rete Java socket stream - 8
5 // creazione stream di output su socket try outsock = new DataOutputStream(socket.getOutputStream()); catch(ioexception e) // se la richiesta non è corretta non proseguo else System.out.println("File non presente nel direttorio corrente"); /* la richiesta è corretta caso "*": invio di tutti i file.txt del direttorio corrente*/ if (nomefile.equals("*")) File f = new File("."); String[] listafile = f.list(); for (int i=0; i<listafile.length; i++) if (listafile[i].endswith(".txt")) // creazione stream di input da file try infile = new DataInputStream( new FileInputStream(listaFile[i])); catch(filenotfoundexception e) outsock.writeutf(null); Applicazioni Distribuite e Servizi di Rete Java socket stream - 9 // trasmissione del nome try outsock.writeutf(listafile[i]); catch(exception e) // trasmissione del file try FileUtility.trasferisci_a_byte( infile, outsock); catch(exception e) // if.txt // for // if "*" /* caso di un nome specifico invio solo del file richiesto */ else // creazione stream di input da file try infile = new DataInputStream( new FileInputStream(nomeFile)); catch(filenotfoundexception e) // trasmissione del nome tryoutsock.writeutf(nomefile); catch(exception e) Applicazioni Distribuite e Servizi di Rete Java socket stream - 10
6 // trasmissione del file try FileUtility.trasferisci_a_byte( infile, outsock); catch(exception e) // else // tutto ok, pronto per nuova richiesta System.out.print("\n^D(Unix)/^Z(Win)+invio per uscire, solo invio per continuare: "); // while /* qui catturo le eccezioni non gestite nel while: per esempio la chiusura della connessione con il server in seguito alle quali il client termina l'esecuzione */ catch(exception e) stdin.close(); PutFile Server Sequenziale public class PutFileServerSeq public static final int PORT = 1050; public static void main(string[] args) throws IOException ServerSocket serversocket = null; Socket clientsocket=null; DataInputStream insock=null; try serversocket = new ServerSocket(PORT); serversocket.setreuseaddress(true); catch(exception e) System.exit(1); try while(true) System.out.println("\n In attesa di richieste..."); try clientsocket = serversocket.accept(); clientsocket.setsotimeout(30000); catch (Exception e) Applicazioni Distribuite e Servizi di Rete Java socket stream - 11 Applicazioni Distribuite e Servizi di Rete Java socket stream - 12
7 try // creazione stream di input da socket insock = new DataInputStream( clientsocket.getinputstream()); catch(ioexception e) String nomefile; while (clientsocket.isconnected()) /* qui catturo le eccezioni non gestite all'interno del while in seguito alle quali il server termina l'esecuzione */ catch(exception e) // chiusura di stream e socket // SOLO IN CASO DI PROBLEMI clientsocket.close(); serversocket.close(); // ricezione del nome try nomefile=insock.readutf(); catch(exception e) break; //ciclo di ricezione dal client e scrittura su video try FileUtility.trasferisci_a_byte( insock, new DataOutputStream(System.out)); catch(exception e) clientsocket.close(); break; clientsocket.close(); // while (true) Applicazioni Distribuite e Servizi di Rete Java socket stream - 13 Applicazioni Distribuite e Servizi di Rete Java socket stream - 14
8 PutFile Server Concorrente /* Thread lanciato per ogni richiesta accettata */ class ServerThread extends Thread private static int counter=0; private int id=++counter; private Socket socket; private DataInputStream insock=null; // costruttore public ServerThread(Socket s) throws Exception socket=s; try // creazione stream di input da socket insock = new DataInputStream(socket.getInputStream()); catch(ioexception e) throw e; /* se tutto ok il thread viene avviato direttamente dal costruttore */ if (insock!=null) start(); // costruttore public void run() try while (socket.isconnected()) String nomefile; // ricezione del nome. //ciclo di ricezione dal client e scrittura su video try FileUtility.trasferisci_a_byte( insock, new DataOutputStream(System.out)); catch(exception e) break; // while (socket.isconnected()) catch(exception e) // run // ServerThread public class PutFileServerCon public static final int PORT = 1050; public static void main(string[] args) Applicazioni Distribuite e Servizi di Rete Java socket stream - 15 Applicazioni Distribuite e Servizi di Rete Java socket stream - 16
9 throws IOException ServerSocket serversocket = null; Socket clientsocket=null; try serversocket = new ServerSocket(PORT); serversocket.setreuseaddress(true); catch(exception e) System.exit(1); try while(true) System.out.println("Server: in attesa di richieste...\n"); try // bloccante finchè non arriva una // richiesta di connessione clientsocket = serversocket.accept(); clientsocket.setsotimeout(60000); catch (Exception e) e.getmessage()); // servizio delegato ad un nuovo thread try new ServerThread(clientSocket); catch (Exception e) Applicazioni Distribuite e Servizi di Rete Java socket stream - 17 // while true /* qui catturo le eccezioni non gestite all'interno del while in seguito alle quali il server termina l'esecuzione */ catch(exception e) // chiusura di socket di accettazione serversocket.close(); Applicazioni Distribuite e Servizi di Rete Java socket stream - 18
Corso di Reti di Calcolatori L-A
Università degli Studi di Bologna Facoltà di Ingegneria Corso di Reti di Calcolatori L-A Esercitazione 2 (svolta) Socket Java con connessione Luca Foschini Anno accademico 2009/2010 Esercitazione 2 1 Architettura
Dettagli(VHUFLWD]LRQLGLEDVHVXOOH6RFNHWLQ-DYD 6RFNHWGLWLSRVWUHDP
(VHUFLWD]LRQLGLEDVHVXOOH6RFNHWLQ-DYD 6RFNHWGLWLSRVWUHDP D (FKR&OLHQWH6HUYHU Sviluppare un applicazione C/S in cui: il server attende una connessione da parte del client (su MDYDQHW6HUYHU6RFNHW), usa la
DettagliEsercitazione: Socket Java senza connessione
Esercitazione: Socket Java senza connessione Client e Server Datagram Sviluppare un applicazione C/S in cui: il client invia al server pacchetti contenenti il nome del file e il numero della linea del
DettagliArchitettura Client-Server
Architettura Client-Server 1. il client manda una richiesta al server 2. il server (in attesa) riceve la richiesta 3. il server esegue il servizio richiesto (generando un thread concorrente) 4. il server
DettagliProgrammazione distribuita in Java. Socket & Client-Server
Programmazione distribuita in Java Socket & Client-Server 1 Strumenti per networking Libreria java.net Socket (Astrazione per una presa di comunicazione) Serializzazione Socket Per comunicare si apre una
DettagliSockets in Java. Lorenzo Gallucci
Sockets in Java Lorenzo Gallucci Sockets La libreria Java dispone di un API per la gestione dell I/O di rete Il package di riferimento è java.net Vari compiti: Gestione dell I/O su socket (sia TCP che
DettagliChat. Si ha un server in ascolto sulla porta 4444. Quando un client richiede la connessione, il server risponde con: Connessione accettata.
Chat Si ha un server in ascolto sulla porta 4444 Quando un client richiede la connessione, il server risponde con: Connessione accettata. Nome: Il client deve rispondere con lo user name A questo punto
DettagliIl modello client/server consente a due processi di condividere risorse e di cooperare per il raggiungimento di un obiettivo.
In una rete di ampie dimensioni, ciascuna sottorete (es. LAN, WAN) è connessa ad altre sottoreti tramite router. Internet è un insieme di reti connesse tra loro. Essenzialmente, in una rete alcune macchine
Dettagli(VHUFLWD]LRQLGLEDVHVXOOH6RFNHWLQ-DYD 6RFNHWGLWLSRGDWDJUDP
(VHUFLWD]LRQLGLEDVHVXOOH6RFNHWLQ-DYD 6RFNHWGLWLSRGDWDJUDP D /LQH&OLHQWH6HUYHU Sviluppare un applicazione C/S in cui: i inviano al server pacchetti (vuoti) che vengono interpretati dal server come richiesta
DettagliCorso di Reti di Calcolatori
Università degli Studi della Calabria Corso di Laurea in Ingegneria Informatica A.A. 2010/2011 Corso di Reti di Calcolatori Lucidi delle Esercitazioni Raffaele Giordanelli 1 Socket TCP 2 Echo Application
DettagliApplicazioni web. Parte 10 Socket. Alberto Ferrari
Applicazioni web Parte 10 Socket Protocolli I computer collegati ad Internet comunicano tra loro usando il Transmission Control Protocol (TCP) o lo User Datagram Protocol (UDP) Quando si scrivono programmi
DettagliCorso sul linguaggio Java
Corso sul linguaggio Java Modulo JAVA6 A1 I file testo 1 Prerequisiti Programmazione base in Java Utilizzo di classi e oggetti Modello produttore consumatore Operazioni logiche su struttura file 2 1 Introduzione
DettagliMagiCum S.r.l. Progetto Inno-School
MagiCum S.r.l. Progetto Inno-School Area Sviluppo Web Autore: Alessio Bernardo Revisione: 1 Data: 23/05/13 Titolo: Sviluppo piattaforma e-learning e sviluppo siti web File: Documentazione tecnica Sito:
DettagliCorso di Telematica II
Corso di Laurea Triennale in Ingegneria Informatica ed Ingegneria delle Telecomunicazioni Corso di Telematica II Matricola Nome, Cognome Data Orale... Prova scritta del 21/07/2005 Si implementi, in linguaggio
DettagliParte II: Reti di calcolatori Lezione 12
Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2014-15 Parte II: Reti di calcolatori Lezione 12 Giovedì 16-04-2015 1 Confronto architetture C/S e
DettagliLezione 16 programmazione in Java
Lezione 16 programmazione in Java Nicola Drago drago@sci.univr.it Dipartimento di Informatica Università di Verona Anteprima Approfondimenti della programmazione OO I FILE Sgli stream (flussi) I file ad
DettagliCorso di Reti di Calcolatori L-A
Università degli Studi di Bologna Facoltà di Ingegneria Corso di Reti di Calcolatori L-A Esercitazione 6 (svolta) Java RMI Luca Foschini Anno accademico 2010/2011 Esercitazione 6 1 Specifica: il Client
DettagliMultithreading. Multithreading/2
Multithreading Osservazioni su EchoServer Programmazione TCP in Java EchoServer ed EchoClient Uso del multithreading nella programmazione di rete ChatClient e ChatServer Esempio di Web server(?) Multithreading/2
DettagliProgrammare con le Socket TCP in java. 2: Application Layer 1
Programmare con le Socket TCP in java 2: Application Layer 1 Il Client contatta il server Il Server: Il processo server è sempre attivo in attesa di connessioni (demone) Crea una socket per accettare la
DettagliParte II: Reti di calcolatori Lezione 10
Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2013-14 Pietro Frasca Parte II: Reti di calcolatori Lezione 10 Giovedì 3-04-2014 1 Reti per la distribuzione
DettagliJav@Lab Il linguaggio Java I file sequenziali
Jav@Lab Il linguaggio Java I file sequenziali Input e Output Secondo i canoni dei linguaggi di programmazione "procedurali" il concetto di input e output è strettamente legato al tipo di dispositivo esterno
DettagliCorso sul linguaggio Java
Corso sul linguaggio Java Modulo JAVA6 A1 I file testo 1 Prerequisiti Programmazione base in Java Utilizzo di classi e oggetti Modello produttore consumatore Operazioni logiche su struttura file 2 1 Introduzione
DettagliEccezioni Precisazioni e approfondimenti
Eccezioni Precisazioni e approfondimenti Costruttore: il parametro String definisce il messaggio di errore associato all eccezione Metodi particolarmente significativi getmessage(): ritorna l istanza di
DettagliINPUT OUTPUT Programmazione in rete e laboratorio. Le operazioni di I/O avvengono attraverso stream (sequenze di byte)
INPUT OUTPUT 2004-05 Le operazioni di I/O avvengono attraverso stream (sequenze di byte) programma stream in lettura sorgente Programmazione in rete e laboratorio programma stream in scrittura destinazione
DettagliFondamenti di Informatica C Esercitazioni di Laboratorio / 4 Outline
Fondamenti di Informatica C Esercitazioni di Laboratorio / 4 http://polaris.ing.unimo.it/fic/laboratorio.html Ing. Francesco De Mola demola.francesco@unimore.it DII, Modena Via Vignolese (lab. Dottorandi
DettagliProgrammare con le Socket
Programmare con le Socket Corso Reti ed Applicazioni Lab Sockets pag. 1 Programmare con le Socket TCP Il Client deve contattare il server - Il processo server deve già essere attivo - Il server deve aver
DettagliApplicazioni web. Parte 5 Socket
Agent and Object Technology Lab Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma Applicazioni web Parte 5 Michele Tomaiuolo tomamic@ce.unipr.it Protocolli Internet I computer
DettagliProgrammazione di rete in Java
Programmazione di rete in Java Reti di calcolatori Una rete di calcolatori è un sistema che permette la condivisione di dati informativi e risorse (sia hardware sia software) tra diversi calcolatori. Lo
DettagliProgrammazione di rete
Programmazione di rete Generalità sullo strato di trasporto TCP UDP Socket Programmazione TCP in Java EchoServer ed EchoClient Uso del multithreading nella programmazione di rete ChatClient e ChatServer
DettagliTecnologie Web L-A. Java e HTTP. Dario Bottazzi Tel. 051 2093541, E-Mail: dario.bottazzi@unibo.it, SkypeID: dariobottazzi. Java e TCP/IP in a Nutshell
Tecnologie Web L-A Java e HTTP Dario Bottazzi Tel. 051 2093541, E-Mail: dario.bottazzi@unibo.it, SkypeID: dariobottazzi Java e TCP/IP in a Nutshell! java.net.inetaddress: rappresenta un indirizzo IP e
DettagliProgrammare con le Socket TCP
Programmare con le Socket TCP Il Client deve contattare il server Il processo server deve già essere attivo Il server deve aver creato una socket che accetta la connessione del client ( socket di benvenuto
DettagliCorsi di Reti di Calcolatori (Docente Luca Becchetti)
Corsi di Reti di Calcolatori (Docente Luca Becchetti) NOT : le soluzioni proposte sono volutamente sintetiche. Lo studente dovrebbe fare uno sforzo per risolvere i quesiti in modo autonomo, espandendo
Dettagli19 - Eccezioni. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo
19 - Eccezioni Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/ milazzo milazzo di.unipi.it Corso
DettagliSocket in Java. Linguaggi Corso M-Z - Laurea in Ingegneria Informatica A.A lezione 17 -
Linguaggi Corso M-Z - Laurea in Ingegneria Informatica A.A. 2009-2010 Alessandro Longheu http://www.diit.unict.it/users/alongheu alessandro.longheu@diit.unict.it - lezione 17 - Socket in Java 1 Java in
DettagliCapitolo 2: Livello di applicazione
Programmazione delle socket in Java Nota per l utilizzo: Abbiamo preparato queste slide con l intenzione di renderle disponibili a tutti (professori, studenti, lettori). Sono in formato PowerPoint in modo
DettagliCreazione, eliminazione, lettura e scrittura di file di testo
Creazione, eliminazione, lettura e scrittura di file di testo Java mette a disposizione degli sviluppatori diverse classi per lavorare con i file di testo, analizziamo le principali: java.io.file La classe
DettagliGestione delle Eccezioni
Gestione delle Eccezioni Condizioni di Errore Una condizione di errore in un programma può avere molte cause Errori di programmazione Divisione per zero, cast non permesso, accesso oltre i limiti di un
Dettagliappunti delle lezioni Architetture client/server: applicazioni server
Sistemi informativi applicati (reti di calcolatori): appunti delle lezioni Architetture /: applicazioni 1 La logica dei Abbiamo visto che un applicazione si connette e comunica con un applicazione mediante
Dettagli20/12/2010. Package java.net (Socket ServerSocket) Package java.rmi (uso di oggetti remoti)
Package java.net (Socket ServerSocket) Package java.rmi (uso di oggetti remoti) La classe URL cattura il concetto di indirizzo Internet (URL) nella forma standard: http://localhost/index.html file:///autoexec.bat
DettagliIn un file di testo galera.txt sono memorizzati i dati relativi ad alcune condanne penali, ognuna con i dati:
Linguaggi Corso di Laurea Ingegneria Informatica (M-Z) A.A. 2006-2007 Alessandro Longheu http://www.diit.unict.it/users/alongheu alessandro.longheu@diit.unict.it Esercitazione su I/O in Java 1 In un file
DettagliCorso di Reti di Calcolatori T
Università degli Studi di Bologna Scuola di Ingegneria Corso di Reti di Calcolatori T Esercitazione 3 (proposta) Socket C senza e con connessione Luca Foschini Michele Solimando Anno accademico 2016/2017
DettagliEsercizio Trasferimento File e Multicast
Esercizio Esercizio Trasferimento File e Esercitazione di Laboratorio 14/11/2007 Esercizio Trasferimento File e Esercizio Esercizio Trasferimento File Sviluppare un applicazione distribuita che offra il
DettagliRETI DI CALCOLATORI Linguaggio Java: Eccezioni
Università degli Studi di Modena e Reggio Emilia Facoltà di Ingegneria Reggio Emilia CORSO DI RETI DI CALCOLATORI Linguaggio Java: Eccezioni Prof. Franco Zambonelli Lucidi realizzati in collaborazione
DettagliGESTIONE DEGLI ERRORI
GESTIONE DEGLI ERRORI Spesso vi sono istruzioni critiche, che in certi casi possono produrre errori L approccio classico consiste nell inserire controlli (if else..) per cercare di intercettare a priori
DettagliFondamenti di Informatica 1. Prof. B.Buttarazzi A.A. 2010/2011
Fondamenti di Informatica 1 Prof. B.Buttarazzi A.A. 2010/2011 Sommario Eccezioni Categorie di eccezioni checked unchecked Gestione delle eccezioni Clausola throws Costrutto try - catch - finally Comando
DettagliFONDAMENTI DI INFORMATICA C Linguaggio Java: Eccezioni
Università degli Studi di Modena e Reggio Emilia Facoltà di Ingegneria CORSO DI FONDAMENTI DI INFORMATICA C Linguaggio Java: Eccezioni Prof. Zambonelli, Ing. Cabri, Ing. Denti, Ing. Andrea Aime Zambonelli,
DettagliInput. Il tipo char Alcune modalità di acquisizione di input. Laboratorio di Programmazione - Luca Tesei
Input Il tipo char Alcune modalità di acquisizione di input 1 Lettura di dati in input Vediamo due modi per acquisire dei dati di input dall utente: 1. Tramite una finestra grafica di dialogo 2. Tramite
DettagliLaboratorio di Programmazione Lezione 2. Cristian Del Fabbro
Laboratorio di Programmazione Lezione 2 Cristian Del Fabbro Prossima lezione GIOVEDÌ 29 OTTOBRE 14:00 Input da tastiera package input; import java.io.*; public class Input { public static void main(string[]
DettagliLa gestione dell input/output da tastiera La gestione dell input/output da file La gestione delle eccezioni
La gestione dell input/output da tastiera La gestione dell input/output da file La gestione delle eccezioni Autore: Prof. Agostino Sorbara ITIS "M. M. Milano" Autore: Prof. Agostino Sorbara ITIS "M. M.
DettagliSincronizzazione con Java
Sincronizzazione con Java Corse critiche e sincronizzazione Java implementa un meccanismo simile al monitor per garantire la sincronizzazione fra thread Ogni oggetto ha un lock associato ad esso Nelle
DettagliLezione n.3 LPR - Informatica Applicata
Lezione n.3 LPR - Informatica Applicata Il Protocollo TCP: 7/3/2013 Laura Ricci Laura Ricci 1 IL PARADIGMA CLIENT/SERVER La tipica applicazione Internet provede due processi in esecuzione su due host geograficamente
DettagliOperazioni di input/output. Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi 132 Sesto San Giovanni
Operazioni di input/output Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi 132 Sesto San Giovanni Input /Output introduzione Per ottenere delle informazioni un programma apre un flusso (Stream)
DettagliApplicazioni TCP/IP. Maurizio Cozzetto. Brescia 20 agosto 2014
Applicazioni TCP/IP Maurizio Cozzetto Brescia 20 agosto 2014 Un po' di teoria Ricordiamo che un'applicazione distribuita e un'applicazione composta da piu programmi (almeno 2) posti in esecuzione su macchine
DettagliEsercitazioni Ingegneria del So2ware 3 - Programmazione Java Excep<ons, I/O
Esercitazioni Ingegneria del So2ware 3 - Programmazione Java Excep
DettagliProgettazione e realizzazione di un alternatore Versione 1.0 Carlo Montangero, Laura Semini
Progettazione e realizzazione di un alternatore Versione 1.0 Carlo Montangero, Laura Semini Corso di Ingegneria del Software Dipartimento di Informatica - Università di Pisa Gennaio 2011 1 Table of Contents
DettagliCreazione, eliminazione, lettura e scrittura di file di testo
Creazione, eliminazione, lettura e scrittura di file di testo Creazione Java mette a disposizione degli sviluppatori diverse classi per lavorare con i file di testo, analizziamo le principali: java.io.file
DettagliRiferimenti ad oggetti: Fondamenti di Informatica L-B Esercitazione n 4 Java: I/O, Costruttori e altro. Riferimenti ad oggetti: (Esempio)
Fondamenti di Informatica L-B Esercitazione n 4 Java: I/O, Costruttori e altro A.A. 2005/06 Tutor: Loris Cancellieri loris.cancellieri@studio.unibo.it Riferimenti ad oggetti: Cosa si può fare con i riferimenti?
DettagliEsempio su strutture dati dinamiche: ArrayList
Esempio su strutture dati dinamiche: ArrayList 1 ArrayList! Abbiamo detto che gli array non possono cambiare la propria dimensione: il numero di elementi contenuti viene stabilito al momento della creazione
DettagliReti di Calcolatori:
Reti di Calcolatori: Internet, Intranet e Mobile Computing a.a. 2007/2008 http://www.di.uniba.it/~lisi/courses/reti/reti0708.htm dott.ssa Francesca A. Lisi lisi@di.uniba.it Orario di ricevimento: mercoledì
DettagliJava, Oggetti e Strutture Dati di G. Callegarin - Edizioni CEDAM
Java, Oggetti e Strutture Dati di G. Callegarin - Edizioni CEDAM ERRATA CORRIGE dei programmi della prima stampa (Aprile 2004) aggiornato al 20/05/2017 Nota: il codice corretto è ottenibile da quella errato
DettagliLettura e scrittura - Stream
Lettura e scrittura - Stream Obiettivo(fine della lezione): leggere/scrivere da/su file (e quindi verso qualsiasi dispositivo)! Tipi di stream " Stream di caratteri " Stream di byte! Classi astratte che
DettagliOperazioni di scrittura e lettura con periferici in linguaggio Java
Operazioni di scrittura e lettura con periferici in linguaggio Java Flussi logici (stream) di output Operazione di scrittura a monitor con uso di stream (flusso logico) di output RAM System.out.println
DettagliConcetti Base Eccezioni Eccezioni e Metodi Gerarchia di Eccezioni. Java: Eccezioni. Damiano Macedonio
Dipartimento di Informatica, Università degli Studi di Verona Corso di Programmazione per Bioformatica lezione del 30 maggio 2014 Introduzione Un programma diviso in sezioni distinte Un approccio alla
DettagliConnessioni di rete. Progetto di reti di Calcolatori e Sistemi Informatici - Stefano Millozzi. PdR_09010 - Stefano Millozzi
Connessioni di rete Progetto di reti di Calcolatori e Sistemi Informatici - Stefano Millozzi 1 Socket orientato alla connessione o non orientato alla connessione 2 Socket in astratto 3 Socket modalità
DettagliCifratura simmetrica
Cifratura Cifratura simmetrica Alice canale insicuro Bob 2 Cifratura simmetrica m Algoritmo di decifratura m Alice canale insicuro Algoritmo di cifratura Bob 3 Cifrari simmetrici chiave privata k chiave
DettagliR.Focardi Laboratorio di Ingegneria del Software 6. 1
Networking Java permette comunicazioni in rete basate sul concetto di socket, che permette di vedere la comunicazione in termini di flusso (stream), in modo analogo all input-output di file, usando Stream
DettagliCorso di Reti di Calcolatori T
Università degli Studi di Bologna Scuola di Ingegneria Corso di Reti di Calcolatori T Esercitazione 2 (proposta) Socket Java con connessione Luca Foschini Anno accademico 2015/2016 Esercitazione 2 1 Specifica
DettagliUn flusso (stream) è una astrazione che produce e/o consuma informazioni.
I programmi Java eseguono l I/O mediante i flussi. Un flusso (stream) è una astrazione che produce e/o consuma informazioni. Ogni flusso è collegato ad un dispositivo fisico dal sistema di I/O di java.
DettagliInformatica I. Ingegneria Medica. Prof. Diego Salamon
Informatica I Ingegneria Medica Prof. Diego Salamon Gestione I/O Prof. Diego Salamon Introduzione Nella creazione e gestione del software è necessario interagire con entità esterne a quelle del programma
DettagliLe basi del linguaggio Java
Le basi del linguaggio Java Compilazione e interpretazione Quando si compila il codice sorgente scritto in Java, il compilatore genera il codice compilato, chiamato bytecode. È un codice generato per una
DettagliUnità 2 I file binari
Dare una breve descrizione dei termini introdotti: (A) CONOSCENZA TERMINOLOGICA file binari file di tipi primitivi file di oggetti serializzazione (B) CONOSCENZA E COMPETENZA Rispondere alle seguenti domande
DettagliCorsi di Reti di Calcolatori (Docente Luca Becchetti) Esercizi su strati di trasporto e di rete
Corsi di Reti di Calcolatori (Docente Luca Becchetti) Esercizi su strati di trasporto e di rete 1. Si consideri un protocollo per il trasporto non affidabile di dati realtime. Il sender spedisce un pacchetto
Dettagliappunti delle lezioni Architetture client/server: applicazioni client
Sistemi informativi applicati (reti di calcolatori): appunti delle lezioni Architetture client/server: applicazioni client 1 Architetture client/server: un esempio World wide web è un esempio particolarmente
DettagliIterazioni. L istruzione while. while (condition) istruzione
Iterazioni L istruzione while while (condition) istruzione Ripete l esecuzione di istruzione fino a che la condizione resta vera while (balance < targetbalance) year++; double interest = balance * rate
DettagliProgrammazione Orientata agli Oggetti in Linguaggio Java
Programmazione Orientata agli Oggetti in Linguaggio Java Eccezioni: Gestione dei Flussi versione 2.1 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina)
DettagliInput e Output in Java
Input e Output in Java Stream Redirecting Scomposizione dell input Uso di file Set di caratteri 1 Inserimento dati e test Riconsideriamo la versione iniziale della classe DataSet usata per illustrare le
DettagliJAVA Gestione delle eccezioni e Programmazione concorrente
JAVA Gestione delle eccezioni e Programmazione concorrente Andrea BEI (andrea.bei@libero.it) Gestione delle eccezioni Un eccezione è un evento generato in un applicazione in circostanze eccezionali (es:
DettagliLEZIONE N.5 LPR INFORMATICA APPLICATA CONNECTION ORIENTED SOCKETS (2)
LEZIONE N.5 LPR INFORMATICA APPLICATA CONNECTION ORIENTED SOCKETS (2) 17/03/2008 Laura Ricci Laura Ricci 1 STREAM MODE SOCKET API: INTEZIONE CON SERVERS PREDEFINITI Esercizio: considerare un servizio attivo
Dettagli/** * VETTORE DINAMICO elementi */ private Vector elementi; /** * METODO COSTRUTTORE */ public coda() { elementi=new Vector(); }
import java.util.*; class coda * Questa classe contiene tutti i metodi per la gestione della coda * @author D'Ambrosio Giovanni Classe 4D I.T.I.S. Grottaminarda * @version 26/02/2010 * VETTORE DINAMICO
DettagliProgettAzione tecnologie in movimento - V anno Unità 4 - Realizzare applicazioni per la comunicazione in rete
ProgettAzione tecnologie in movimento - V anno Unità 4 - Realizzare applicazioni per la comunicazione in rete Compito in classe proposto Realizzare un applicazione C/S per trasferire al Client il contenuto
DettagliSocket & RMI Ingegneria del Software - San Pietro
Socket & RMI Ingegneria del Software - San Pietro Socket È possibile trattare la comunicazione di rete allo stesso modo con cui è possibile trattare la lettura da file. La classe Socket rappresenta la
DettagliUnità A1 I file testo
Dare una breve descrizione dei termini introdotti: (A) CONOSCENZA TERMINOLOGICA stream file testo file binari file di tipi primitivi bufferizzazione InputStreamReader OutputStreamWriter Reader Writer FileReader
DettagliUniversità degli Studi di Roma La Sapienza, Facoltà di Ingegneria. Corso di INGEGNERIA DEL SOFTWARE (Ing. Informatica, Nuovo Ordinamento)
Università degli Studi di Roma La Sapienza, Facoltà di Ingegneria Corso di INGEGNERIA DEL SOFTWARE (Ing. Informatica, Nuovo Ordinamento) Prof. Marco Cadoli, Canale M-Z A.A. 2005-06 USO DEL FRAMEWORK JUNIT
DettagliIl package java.io fornisce le classi necessarie per effettuare input e output su file/rete/console/aree di memoria RAM eccetera.
IL PACKAGE JAVA.IO Il package java.io fornisce le classi necessarie per effettuare input e output su file/rete/console/aree di memoria RAM eccetera. Il package può essere classificato secondo vari punti
Dettagli7 Esercitazione (svolta): Callback. Polling. Java RMI: callback. Server. Server. Client. Client. due possibilità:
7 Esercitazione (svolta): due possibilità: Java RMI: callback Molte applicazioni richiedono un meccanismo publish/subscribe I partecipanti (client) necessitano di notifiche da parte del coordinatore (server)
DettagliCorso di Reti di Calcolatori L-A
Università degli Studi di Bologna Facoltà di Ingegneria Corso di Reti di Calcolatori L-A Esercitazione 4 (proposta) Server Multiservizio: Socket C con select Luca Foschini Anno accademico 2010/2011 Esercitazione
DettagliProgrammazione di rete in Java Java fornisce per la gestione della comunicazione le classi del package di networking java.net
Programmazione di rete in Java Java fornisce per la gestione della comunicazione le classi del package di networking java.net Gerarchia delle classi in Java Package java.net le socket rappresentano il
DettagliEsercizio monitor. Sistemi Operativi T 1
Esercizio monitor Si consideri un piccolo Aereoporto, nel quale sia presente una sola pista, utilizzata sia per i decolli che per gli atterraggi. La pista puo` anche essere percorsa da mezzi di servizio:
DettagliEccezioni. Comportamento di default (esempio) Propagazione delle eccezioni
Università degli Studi di Roma La Sapienza Corso di Laurea in Ingegneria dell Informazione (sede di Latina) Corso di Laurea in Ingegneria dell Informazione (consorzio Nettuno) Eccezioni L esistenza di
DettagliGestione di errori e situazioni eccezionali. Gestione delle eccezioni. Gestione tradizionale di errori e situazioni eccezionali (2)
Gestione di errori e situazioni eccezionali Gestione delle eccezioni Una procedura (utente o di libreria) deve poter segnalare l impossibilità di produrre un risultato significativo o la propria terminazione
Dettagli789:;<:' .&+/"0&12%34%5&66+,("%3787%% %"+&%88$77%9%8:$:7%% ;<'&12%8%=,+>"%3787 % % % %"+&%88$77%9%8:$:7%
!"#$"%&'()')*+'!"#$%!&'()%*&++,+&-%%!"#$%&'"(()("*+,#$'"&$-. 789:;"%3787 % % % %"+&%88$77%9%8:$:7%?("'(%)"'"%'&0% 0,6"+,@"+("%1(%A'5"+=,B/,%C+,'1&$%
DettagliESERCIZIO 1 (FILE DI TESTO)
ESERCIZIO 1 (FILE DI TESTO) Scrivere su un file di testo righe inserite da console, fino a quando non viene inserita la linea vuota. Passare il nome del file come parametro al programma. Bisogna incapsulare
DettagliFlussi, lettori e scrittori
Flussi, lettori e scrittori Per sequenze di byte, InputStream, OutputStream e loro sottoclassi. Es: InputStream in = ; int next = in. read(); if (next!= -1) byte b = (byte) next; Per sequenze di caratteri,
DettagliProva d Esame Compito A
Domanda 1 A) Si richiede di analizzare le seguenti sezioni di codice. Il candidato indichi il risultato dell esecuzione del main. public class Father { private static int counter=0; private int code; public
DettagliLaboratorio di Programmazione II Corso di Laurea in Bioinformatica Dipartimento di Informatica - Università di Verona
ed ed Laboratorio di Programmazione II Corso di Laurea in Bioinformatica Dipartimento di Informatica - Università di Verona Sommario ed scrittura su in Java ed ed di testo Scrivere stringhe su di testo
DettagliEsercizi su UDP. Esercitazione di Laboratorio di Programmazione di Rete A. Daniele Sgandurra 22/10/2008. Università di Pisa
Esercizi su UDP Esercitazione di Laboratorio di Programmazione di Rete A Daniele Sgandurra Università di Pisa 22/10/2008 Un Tipico Client UDP Un client UDP invia datagrammi ad un server in attesa di essere
DettagliUniversità degli Studi di Modena e Reggio Emilia. Facoltà di Ingegneria Reggio Emilia CORSO DI TECNOLOGIE E APPLICAZIONI WEB. Http con java, URL
Università degli Studi di Modena e Reggio Emilia Facoltà di Ingegneria Reggio Emilia CORSO DI TECNOLOGIE E APPLICAZIONI WEB Http con java, URL Ing. Marco Mamei Anno Accademico 2004-2005 M. Mamei - Tecnologie
Dettaglidomenica 9 giugno 13 Serializzazione
Serializzazione A cosa serve? Ad ottenere una rappresentazione di una struttura dati che possiamo memorizzare, trasmettere via rete Cosa possiamo serializzare? OK NO Tipi primitivi, Riferimenti stringhe
DettagliCorso sul linguaggio Java
Corso sul linguaggio Java Modulo JAVA1 1.3 - Le strutture di controllo 1 Prerequisiti Istruzioni semplici Strutture di controllo Scittura di semplici applicazioni Java 2 1 Introduzione In molti casi le
Dettagli10.1. Un indirizzo IP viene rappresentato in Java come un'istanza della classe InetAddress.
ESERCIZIARIO Risposte ai quesiti: 10.1. Un indirizzo IP viene rappresentato in Java come un'istanza della classe InetAddress. 10.2. Un numero intero in Java è compreso nell'intervallo ( 2 31 ) e (2 31
Dettagli