Server Sequenziale. Server Concorrente. Esercitazione: Socket Java con connessione

Размер: px
Начинать показ со страницы:

Download "Server Sequenziale. Server Concorrente. Esercitazione: Socket Java con connessione"

Транскрипт

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

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

Подробнее

(VHUFLWD]LRQLGLEDVHVXOOH6RFNHWLQ-DYD 6RFNHWGLWLSRVWUHDP

(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

Подробнее

Esercitazione: Socket Java senza connessione

Esercitazione: 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

Подробнее

Architettura Client-Server

Architettura 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

Подробнее

Programmazione distribuita in Java. Socket & Client-Server

Programmazione 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

Подробнее

Sockets in Java. Lorenzo Gallucci

Sockets 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

Подробнее

Chat. 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. 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

Подробнее

Il modello client/server consente a due processi di condividere risorse e di cooperare per il raggiungimento di un obiettivo.

Il 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

Подробнее

MagiCum S.r.l. Progetto Inno-School

MagiCum 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:

Подробнее

Corso di Telematica II

Corso 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

Подробнее

Programmare con le Socket TCP in java. 2: Application Layer 1

Programmare 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

Подробнее

Parte II: Reti di calcolatori Lezione 10

Parte 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

Подробнее

Jav@Lab Il linguaggio Java I file sequenziali

Jav@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

Подробнее

Corso sul linguaggio Java

Corso 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

Подробнее

Programmare con le Socket

Programmare 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

Подробнее

Applicazioni web. Parte 5 Socket

Applicazioni 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 [email protected] Protocolli Internet I computer

Подробнее

Programmazione di rete in Java

Programmazione 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

Подробнее

Tecnologie Web L-A. Java e HTTP. Dario Bottazzi Tel. 051 2093541, E-Mail: [email protected], 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 Tecnologie Web L-A Java e HTTP Dario Bottazzi Tel. 051 2093541, E-Mail: [email protected], SkypeID: dariobottazzi Java e TCP/IP in a Nutshell! java.net.inetaddress: rappresenta un indirizzo IP e

Подробнее

Programmare con le Socket TCP

Programmare 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

Подробнее

Corsi di Reti di Calcolatori (Docente Luca Becchetti)

Corsi 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

Подробнее

19 - 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 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

Подробнее

Gestione delle Eccezioni

Gestione 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

Подробнее

appunti delle lezioni Architetture client/server: applicazioni server

appunti 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

Подробнее

Esercizio Trasferimento File e Multicast

Esercizio 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

Подробнее

RETI DI CALCOLATORI Linguaggio Java: Eccezioni

RETI 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

Подробнее

GESTIONE DEGLI ERRORI

GESTIONE 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

Подробнее

FONDAMENTI DI INFORMATICA C Linguaggio Java: Eccezioni

FONDAMENTI 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,

Подробнее

Laboratorio di Programmazione Lezione 2. Cristian Del Fabbro

Laboratorio 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[]

Подробнее

La 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 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.

Подробнее

Sincronizzazione con Java

Sincronizzazione 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

Подробнее

Lezione n.3 LPR - Informatica Applicata

Lezione 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

Подробнее

Operazioni 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 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)

Подробнее

Applicazioni TCP/IP. Maurizio Cozzetto. Brescia 20 agosto 2014

Applicazioni 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

Подробнее

Esercitazioni Ingegneria del So2ware 3 - Programmazione Java Excep<ons, I/O

Esercitazioni Ingegneria del So2ware 3 - Programmazione Java Excep<ons, I/O Esercitazioni Ingegneria del So2ware 3 - Programmazione Java Excep

Подробнее

Esempio su strutture dati dinamiche: ArrayList

Esempio 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

Подробнее

Reti di Calcolatori:

Reti 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 [email protected] Orario di ricevimento: mercoledì

Подробнее

Java, Oggetti e Strutture Dati di G. Callegarin - Edizioni CEDAM

Java, 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

Подробнее

Operazioni di scrittura e lettura con periferici in linguaggio Java

Operazioni 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

Подробнее

Concetti Base Eccezioni Eccezioni e Metodi Gerarchia di Eccezioni. Java: Eccezioni. Damiano Macedonio

Concetti 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

Подробнее

Connessioni 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. 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à

Подробнее

Cifratura simmetrica

Cifratura 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

Подробнее

R.Focardi Laboratorio di Ingegneria del Software 6. 1

R.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

Подробнее

Le basi del linguaggio Java

Le 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

Подробнее

appunti delle lezioni Architetture client/server: applicazioni client

appunti 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

Подробнее

Input e Output in Java

Input 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

Подробнее

/** * VETTORE DINAMICO elementi */ private Vector elementi; /** * METODO COSTRUTTORE */ public coda() { elementi=new Vector(); }

/** * 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

Подробнее

ProgettAzione 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 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

Подробнее

Socket & RMI Ingegneria del Software - San Pietro

Socket & 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

Подробнее

Unità A1 I file testo

Unità 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

Подробнее

7 Esercitazione (svolta): Callback. Polling. Java RMI: callback. Server. Server. Client. Client. due possibilità:

7 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)

Подробнее

Esercizio monitor. Sistemi Operativi T 1

Esercizio 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:

Подробнее

ESERCIZIO 1 (FILE DI TESTO)

ESERCIZIO 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

Подробнее

Flussi, lettori e scrittori

Flussi, 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,

Подробнее

Prova d Esame Compito A

Prova 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

Подробнее

Esercizi 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 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

Подробнее

Università 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 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

Подробнее

Corso sul linguaggio Java

Corso 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

Подробнее

10.1. Un indirizzo IP viene rappresentato in Java come un'istanza della classe InetAddress.

10.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

Подробнее