Organizzazione della lezione. Lezione 10 Interprocess Communication in Java. Gli obiettivi del middleware. Middleware
|
|
- Aureliano Gasparini
- 7 anni fa
- Visualizzazioni
Transcript
1 Organizzazione della lezione Lezione 10 Interprocess Communication in Java Vittorio Scarano Corso di Programmazione Distribuita ( ) Laurea di I livello in Informatica Università degli Studi di Salerno Middleware e Interprocess Communication Internetworking API (Application Programming Interface) Stream Socket e TCP/UDP Le Api di Java per UDP per TCP 2 Middleware Gli obiettivi del middleware Strato che si trova sopra la rete ed i sistemi operativi e sotto le applicazioni Obiettivo: nascondere la eterogeneità degli strati inferiori Applicazioni middleware S.O. rete 3 Nascondere la piattaforma combinazione di Sistema Operativo network software network hardware computer hardware Obiettivo nascondere eterogeneità Attraverso la realizzazione di modelli di programmazione comuni che possono essere usati come blocchi base applicazioni & servizi middleware sistema operativo computer & network hardware piattaforma 4
2 I layer del middleware Interprocess Communication Applicazioni e servizi Chiamata a Procedure Remote oppure Invocazione di Metodi Remoti Protocolli di request-reply Marshalling e Rappresentazione Esterna dei Dati UDP and TCP. r e a w le d id m Permette la comunicazione tra processi Meccanismi per: gestione dei malfunzionamenti fornire una semplice interfaccia Nasconde le differenze tra comunicazione locale e remota: è tutta remota 5 6 Le operazioni di IPC Organizzazione della lezione Permesso da due operazioni send receive Con due varianti sincrone operazioni bloccanti sulla send (attende una receive) e sulla receive (attende una send) asincrone operazioni non bloccanti: send (trasmissione del messaggio in parallelo con la continuazione del processo) e receive (il buffer viene riempito mentre il processo continua) Middleware e Interprocess Communication Internetworking API (Application Programming Interface) Stream Socket e TCP/UDP Le Api di Java per UDP per TCP 7 8
3 Ciò che fanno i programmi (non( molto) Cosa è uno stream? Prendi dati, fanne qualcosa, memorizza il risultato Gli stream sono una maniera per prendere dati e trasferirli da qualche altra parte le device sono spesso trattati come stream Per usare una device fare setup/creare di un oggetto che rappresenta dove (o da dove) saranno inviati (o ricevuti) i dat inviare (ricevere) i dati Lo schermo non è uno stream: l utente lo vede per intero si aspetta di poterlo manipolare (insert/remove) la adiacenza indica relazioni su più dimensioni righe e colonne 9 Uno stream è una sequenza ordinata di byte java.io.inputstream: dati che da una sorgente esterna possono essere usati dal programma int read() int read(byte[] b) int read(byte[] b, int off, int len) void mark(int readlimit) boolean marksupported() void reset() java.io.outputstream: dati che il programma può inviare void close() void flush() void close() int available() long skip(long n) void write(byte[] b) void write(byte[] b, int off, int len) void write(int b) 10 Stream di Input Stream di Output Lettura in sequenza SequenceInputStream FileInputStream BufferedInputStream I Filtri trasformano dati da uno stream in un altro InputStream FilterInputStream DataInputStream... e molti altri PipedInputStream ByteArrayInputStream ObjectInputStream InflaterInputStream Pipes tra thread ProgressMonitorInputStream usato per la serializzazione javax.swing java.util.zip 11 Gli stream sono come i carabinieri della famosa barzelletta: sono sempre presenti in coppia! uno sa leggere (dallo stream) e l altro sa scrivere (sullo stream) Per ogni tipo di InputStream (tranne SequenceInputStream) c è il corrispondente OutputStream associato FileInputStream --> FileOutputStream DataInputStream --> DataOutputStream 12
4 Gli stream di filtro (FilterStream) Organizzazione della lezione Trasformano dati da un altro stream Middleware e Interprocess Communication si comportano da wrapper: prendono stream reali e ne presentano i dati in formato diverso Filter Stream Filter Stream Filter Stream Filter Stream Internetworking API (Application Programming Interface) Stream Socket e TCP/UDP Le Api di Java per UDP per TCP Cosa è un socket Destinazione dei messaggi Una idea (originalmente) da BSD Unix presente in tutti i sistemi operativi attuali La rete è come un file system basta scrivere e leggere stream di dati Un socket è associato ad una porta così che la giusta applicazione possa trattare i dati Vantaggi: concettualmente semplici indipendenti da linguaggio e piattaforma efficienti compatibili con applicazioni legacy 15 client sockets message port server domain name oppure IP address 16
5 I layer di TCP/IP Incapsulamento dei messaggi inviati Layers Application Transport Internet Network interface Underlying network Messaggio Messaggi (UDP) o Stream (TCP) pacchetti UDP o TCP datagram IP Frames Network-specific Ethernet header IP IP header TCP TCP header Ethernet frame port Application message L effetto: cosa si vede di TCP/IP Tipico uso dei socket in Java su WWW La vista di TCP/IP che ha il programmatore Il client scarica un applet Java UDP Application TCP Astrazione Message passing Datagram Best effort Non affidabile TCP Astrazione Stream Affidabile IP Application UDP 19 che si connette ad un server Java in ascolto sulla stessa macchina del server (vincolo imposto per la sicurezza) Implementazione di layer di presentazione/business distribuita su più livelli 20
6 Gli svantaggi dei socket per la programmazione a oggetti Basati su stream tra due oggetti si perde la astrazione: solo un flusso di dati Tutte le funzionalità avanzate come sicurezza, load balancing, etc vanno implementate codificando metadati nello stream e facendono il parsing all altro capo Socket(InetAddress address, int port) Socket(InetAddress address, int port, InetAddress localaddr, int localport) Socket(String host, int port) void close() InetAddress getinetaddress() InetAddress getlocaladdress() int getlocalport() InputStream getinputstream() OutputStream getoutputstream() int getport() 21 Organizzazione della lezione Middleware e Interprocess Communication Internetworking API (Application Programming Interface) Stream Socket e TCP/UDP Le Api di Java per UDP per TCP 22 In certi casi i socket TCP sono overkilling Come spedire Datagram: checklist I socket forniscono la illusione di un circuito dedicato al costo di riassemblare pacchetti in stream rimandare pacchetti, handshake, etc. Socket UDP: DatagramSocket ogni pacchetto viene individualmente indirizzato pacchetti indipendenti (fino a 64K) controllo esplicito del protocollo di comunicazione 1. Creare un DatagramSocket 2. Creare un array di bytes che contiene i dati da inviare 3. Creare un DatagramPacket che usi l array di byte e un indirizzo 4. Spedirlo con il metodo offerto dal socket socket = new DatagramSocket(PORT); //Step 1 //.crea l array buf di byte da inviare //Step 2 packet = new DatagramPacket(buf, buf.length, address, port); //Step 3 socket.send(packet); //Step
7 Come ricevere un Datagram: checklist Le API di Java per UDP 1. Creare un DatagramSocket Due classi: DatagramPacket e DatagramSocket 2. Creare un array di byte come buffer per memorizzare i dati ricevuti 3. Creare un DatagramPacket che usi il buffer 4. Istruire il socket a prelevare il Datagram dall indirizzo socket = new DatagramSocket(PORT); //Step 1 // crea un array di byte buf per ricevere i dati //Step 2 packet = new DatagramPacket(buf, buf.length);//step 3 socket.receive(packet); //Step 4 DatagramPacket costruttore per creare un datagram (da inviare) con un array di byte, la sua lunghezza, indirizzo IP e porta costruttore per creare un datagram (da ricevere) con un array di byte e la sua lunghezza (come buffer) DatagramSocket costruttore (specifica della porta) send e receive setsotimeout Un esempio per UDP: UDPDemo Un esempio per UDP: UDPClient (1) Un semplice servizio di echo ad ogni richiesta risponde con la stessa stringa ricevuta Due componenti: UDPClient: su linea di comando: messaggio da spedire, host a cui spedire UDPServer: attende l invio di un messaggio, lo stampa a video e lo rispedisce 27 import java.net.*; import java.io.*; public class UDPClient { public static void main (String args[ ]) { DatagramSocket asocket= null; asocket = new DatagramSocket(); byte [ ] m = args[0].getbytes(); InetAddress ahost = InetAddress.getByName(args[1]); int serverport=6789; DatagramPacket request = new DatagramPacket(m, args[0].length(), ahost, serverport); asocket.send(request); //. Blocco try..catch Creazione socket Dalla linea di comando: preleva il messaggio primo argomento preleva l indirizzo secondo argomento Creazione datagram Invio 28
8 Un esempio per UDP: UDPClient (2) Un esempio per UDP: UDPServer (1) //. byte[ ] buffer = new byte [1000]; DatagramPacket reply= new DatagramPacket(buffer, buffer.length); asocket.receive(reply); System.out.println("Reply:"+ new String (reply.getdata())); catch (SocketException e) {System.out.println("Socket: +e.getmessage()); catch (IOException e) {System.out.println("IO: +e.getmessage()); finally {if (asocket!= null) asocket.close(); Creazione di un buffer per la lettura Creazione datagram Ricezione e stampa Catch Infine, chiude il socket import java.net.*; import java.io.*; public class UDPServer { public static void main (String args[ ]) { DatagramSocket asocket= null; System.out.println("Listening..."); asocket = new DatagramSocket(6789); byte[ ] buffer = new byte [1000]; while (true) { java.util.arrays.fill(buffer,new Integer(0).byteValue()); DatagramPacket request=new DatagramPacket(buffer, buffer.length); asocket.receive(request); // Creazione di un socket Creazione di un buffer per la lettura Azzeramento buffer Creazione datagram Ricezione Un esempio per UDP: UDPServer (2) Organizzazione della lezione String s = new String(request.getData()); System.out.println ("Received:"+ s.trim()+" from:"+ request.getaddress()); DatagramPacket reply=new DatagramPacket(request.getData(), request.getlength(), request.getaddress(), request.getport()); asocket.send(reply); catch (SocketException e) {System.out.println("Socket:"+ e.getmessage()); catch (IOException e) {System.out.println("IO:"+ e.getmessage()); finally {if (asocket!= null) asocket.close(); Lettura stringa Costruzione reply Invio reply Catch Infine si chiude il socket 31 Middleware e Interprocess Communication Internetworking API (Application Programming Interface) Stream Socket e TCP/UDP Le Api di Java per UDP per TCP 32
9 Le API di Java per TCP Due classi: ServerSocket e Socket ServerSocket usata dal server per creare un socket per ascoltare le connect dei client il metodo accept() è bloccante fino alla ricezione e restituisce un Socket Socket usata dal client per collegarsi al server metodi getinputstream() e getoutputstream() 33 Un esempio per TCP: TCPDemo Un semplice servizio di echo Tre classi TCPClient su linea di comando prende il messaggio e l host del server TCPServer server multithreaded: attende una connessione, quando è stabilita crea un oggetto Connection che tratta la connessione con un client Connection estende Thread ripete al client quello riceve TCPclient client connect stream TCPserver Connection server 34 Il diagramma delle classi di TCPDemo Un esempio per TCP: TCPClient (1) 35 import java.net.*; import java.io.*; public class TCPClient { public static void main (String args[ ]) { Socket s = null; int serverport =NUMEROPORTA; s = new Socket (args[1], serverport); DataInputStream in = new DataInputStream( s.getinputstream()); DataOutputStream out = new DataOutputStream( s.getoutputstream()); out.writeutf(args[0]); String data = in.readutf(); System.out.println ("Received: +data); // continua Porta Creazione socket Preleva input e output stream come argomento a DataInputStream e DataOutputStream Scrive i dati UTF: universal Text Format (1 byte per Ascii 2 per UNICODE) Legge la risposta e la 36 stampa
10 Un esempio per TCP: TCPClient (2) Un esempio per TCP: TCPServer // continua. catch (EOFException e) {System.out.println ("EOF"+ e.getmessage()); catch (IOException e) {System.out.println ("IO"+ e.getmessage()); finally { if (s!=null) s.close(); catch (IOException e) {System.out.println ( "IO Client"+ e.getmessage()); static final int NUMEROPORTA = 7896; Catch per operazioni su socket e stream Comunque alla fine se il socket è stato aperto allora lo chiude blocco try..catch per la chiusura 37 import java.net.*; import java.io.*; public class TCPServer { public static void main (String args[ ]){ System.out.println("Listening.."); int serverport =NUMEROPORTA; ServerSocket listensocket = new ServerSocket(serverPort); while (true) { Socket clientsocket = listensocket.accept(); Connection c= new Connection (clientsocket); catch (IOException e) {System.out.println ("IO Listen:"+ e.getmessage()); static final int NUMEROPORTA = 7896; Porta usata Creazione di un ServerSocket Ciclo per: accept di connessioni lancio del thread per la gestione della connessione Catch 38 Un esempio per TCP: Connection (1) Un esempio per TCP: Connection (2) import java.net.*; import java.io.*; public class Connection extends Thread { public Connection(Socket aclientsocket){ clientsocket= aclientsocket; in = new DataInputStream( clientsocket.getinputstream()); out = new DataOutputStream( clientsocket.getoutputstream()); this.start(); catch (IOException e) {System.out.println ("IO Connection"+ e.getmessage()); // continua Costruttore preleva il socket passato al costruttore assegna input stream assegna output stream lancia il thread Catch 39 public void run( ) { String Data = in.readutf(); System.out.println("Ho letto:"+data); out.writeutf ("E io ripeto:"+data); catch (EOFException e) {System.out.println ("EOF Conn."+ e.getmessage()); catch (IOException e) {System.out.println ("IO Conn."+ e.getmessage()); finally { clientsocket.close(); catch (IOException e) {System.out.println ( "IO Conn. (close)" e.getmessage()); // fine run() DataInputStream in; DataOutputStream out; Socket clientsocket; Legge i dati Li rispedisce Catch Comunque alla fine chiude il socket blocco try..catch per la chiusura Variabili istanza 40
Organizzazione della lezione. Organizzazione della lezione. Middleware. Communication in Java. 9. Interprocess
9. Interprocess Communication in Java Vittorio Scarano Corso di Programmazione Distribuita Laurea di I livello in Informatica Università degli Studi di Salerno Sockete TCP/UDP 3 Socket e TCP/UDP Middleware
Dettagli9. Interprocess Communication in Java
9. Interprocess Communication in Java Vittorio Scarano Corso di Programmazione Distribuita Laurea di I livello in Informatica Università degli Studi di Salerno Organizzazione della lezione Middleware e
Dettagli9. Java: Introduzione al Networking
9. Java: Introduzione al Networking Vittorio Scarano Algoritmi e Strutture Dati: Sistemi Distribuiti Corso di Laurea in Informatica Università degli Studi di Salerno Organizzazione della lezione Networking
DettagliASD: Sistemi Distribuiti (Prof. Scarano) 07/05/2002
Organizzazione della lezione 9. Java: Introduzione al Networking Vittorio Scarano Algoritmi e Strutture Dati: Sistemi Distribuiti Corso di Laurea in Informatica Università degli Studi di Salerno Networking
DettagliInterprocess Communication
Strati middleware Interprocess Communication Comunicazione fra processi cooperanti in sistemi distribuiti Applicazioni e servizi Supporto di comunicazione fra oggetti Gestione e mascheramento di guasti
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
DettagliPROVA FINALE Ingegneria del software
PROVA FINALE Ingegneria del software Ing. Jody Marca jody.marca@polimi.it Laboratorio N 5 Cosa faremo oggi 2 Comunicazione tramite TCP socket Comunicazione tramite UDP socket RIPASSO: Input Output 3 In
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
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à
DettagliPrincipi, Modelli e Applicazioni per Sistemi Distribuiti M
Università degli Studi di Bologna Facoltà di Ingegneria Principi, Modelli e Applicazioni per Sistemi Distribuiti M Esercitazione 1 (Svolta) Socket Java senza connessione Alessandro Pernafini Lab1 - svolta
Dettagli27/2/2006. Lezione n.3 LPR-Informatica Applicata sockets UDP. Università degli Studi di Pisa. Laura Ricci 1. Dipartimento di Informatica.
Università degli Studi di Pisa Lezione n.3 LPR-Informatica Applicata sockets UDP 27/2/2006 Laura Ricci Laura Ricci 1 SCHEMA DELLA PRESENTAZIONE Meccanismi di comunicazione interprocess (IPC) Rappresentazione
DettagliModello client-server
Modello -server Il server fornisce servizi sulla rete Viene eseguita l applicazione server su un host L applicazione attende connessioni dalla rete Il usufruisce del servizio attraverso la rete Deve conoscere
DettagliSocket in Java. Modelli di comunicazione
Socket in Java Programmazione in Ambienti Distribuiti A.A. 2003-04 Modelli di comunicazione Connesso (stream-oriented) Basato sulla metafora del tubo Permette lo scambio di informazioni tra due partner
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
DettagliParte II: Reti di calcolatori Lezione 11 (35)
Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2016-17 Pietro Frasca Parte II: Reti di calcolatori Lezione 11 (35) Martedì 11-04-2017 1 Programmazione
DettagliDatagrammi. NOTA: MulticastSocket estende DatagramSocket
Datagrammi Le applicazioni che comunicano tramite socket possiedono un canale di comunicazione dedicato. Per comunicare, un client ed un server stabiliscono una connessione, trasmettono dati, quindi chiudono
Dettaglisocket ottobre Fonti [Liu] Chapter 2, Interprocess Communication [Liu] Chapter 4, The Socket API Luca Cabibbo Comunicazione interprocesso e
Luca Cabibbo Architetture Software Comunicazione interprocesso e socket Dispensa MW 2 ottobre 2008 1 -Fonti [CDK/4e] Chapter 4, Interprocess Communication [Liu] Chapter 2, Interprocess Communication [Liu]
DettagliLPR A 2005/2006 Lezione 5. Riepilogo Caratteristiche Datagram Socket Stream Mode Socket API Sockets Lato Client Sockets Lato Server Esempi
LPR A 2005/2006 Lezione 5 Riepilogo Caratteristiche Datagram Socket Stream Mode Socket API Sockets Lato Client Sockets Lato Server Esempi DATAGRAM SOCKET API: RIASSUNTO DELLE PUNTATE PRECEDENTI un Datagram
DettagliSocket (TCP/IP) Socket (TCP/IP) Concetto di socket. Cenni (reti)
Socket (TCP/IP) M. Danelutto LPRb A.A. 2007-2008 Socket (TCP/IP) M. Danelutto LPRb A.A. 2007-2008 Concetto di socket Astrazione presa di rete Comunicazione fra processi su macchine diverse O fra processi
DettagliLezione n.7 LPR- Informatica Applicata
Lezione n.7 LPR- Informatica Applicata 26/3/2006 Laura Ricci Laura Ricci 1 RIASSUNTO DELLA LEZIONE Riepilogo caratteristiche Datagram Socket Stream Mode Socket API Sockets Lato Client Sockets Lato Server
DettagliServer Sequenziale. Server Concorrente. Esercitazione: Socket Java con connessione
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
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
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
DettagliPrincipi, Modelli e Applicazioni per Sistemi Distribuiti M
Università degli Studi di Bologna Facoltà di Ingegneria Principi, Modelli e Applicazioni per Sistemi Distribuiti M Esercitazione 2 (svolta) Socket Java con connessione Alessandro Pernafini Architettura
DettagliJAVA - I/O System. Il JAVA considera tutte i flussi da e verso l esterno, come stream di byte. Questi possono essere di ingresso o di uscita:
JAVA - I/O System Il JAVA considera tutte i flussi da e verso l esterno, come stream di byte. Questi possono essere di ingresso o di uscita: 1. InputStream: Flusso di byte in ingresso. Con questa classe
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ì
DettagliProgrammazione ad Oggetti
Programmazione ad Oggetti Java File Flussi e file Flusso (stream) = sequenza di dati di input: da cui leggere di output: su cui scrivere I file sono visti come flussi di dati Il package java.io definisce
DettagliCorso sul linguaggio Java
Corso sul linguaggio Java Modulo JAVA6 A2 I file binari 1 Prerequisiti Programmazione base in Java Utilizzo di classi e oggetti Modello produttore consumatore Operazioni logiche su struttura file 2 1 Introduzione
DettagliA. Ferrari Java: Stream e File
Java: Stream e File la classe File o per operare con l intero file java mette a disposizione la classe File o per utilizzare la classe File è necessario importare la libreria java.io.file o la classe File
DettagliProgrammazione in Rete
Programmazione in Rete a.a. 2005/2006 http://www.di.uniba.it/~lisi/courses/prog-rete/prog-rete0506.htm dott.ssa Francesca A. Lisi lisi@di.uniba.it Orario di ricevimento: mercoledì ore 10-12 Sommario della
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
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
DettagliA. Ferrari Stream e File
Stream e File Java la classe File o per operare con l intero file java mette a disposizione la classe File o per utilizzare la classe File è necessario importare la libreria java.io.file o la classe File
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
DettagliTelematica II 12. Esercitazione/Laboratorio 4
Server UDP in JAVA Telematica II 12. Esercitazione/Laboratorio 4 DayTime daemon UDP Port 13 obiettivo realizzazione di un servizio per l invio della data/orario del server al client utilizzo di un datagram
DettagliCorso di Reti di Calcolatori
Corso di Reti di Calcolatori UNICAL Facoltà di Ingegneria a.a. 2002/2003 Esercitazione sul networking in Java (3 a parte) e comandi di rete paolo.trunfio@deis.unical.it 1 Datagrammi Le applicazioni che
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
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 di Reti di Calcolatori. Datagrammi
Corso di Reti di Calcolatori UNICAL Facoltà di Ingegneria a.a. 2002/2003 Esercitazione sul networking in Java (3 a parte) e comandi di rete paolo.trunfio@deis.unical.it 1 Datagrammi Le applicazioni che
DettagliTECN.PROG.SIST.INF. I Socket Roberta Gerboni
2015 - Roberta Gerboni Socket e porte I sistemi operativi multitasking possono fare girare contemporaneamente più processi dove ogni processo può rendere disponibili anche più servizi. Questi devono essere
DettagliParte II: Reti di calcolatori Lezione 13 (37)
Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2017-18 Pietro Frasca Parte II: Reti di calcolatori Lezione 13 (37) Giovedì 26-04-2018 1 Programmazione
DettagliProtocollo UDP. User Data Protocol
User Data Protocol User Data Protocol Protocollo UDP non affidabile (può perdere pacchetti) ricezione pacchetti non ordinati senza connesione punto punto o multicast molto piu' efficiente di TCP utilizzato
DettagliNetwork Programming. Java Programming Language. Network Programming TIGA 1
Network Programming Java Programming Language Network Programming TIGA 1 Modello a scambio di messaggi I processi interagiscono attraverso una rete di comunicazione I processi non condividono alcuna risorsa
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
DettagliALTRI TIPI DI CONNESSIONE
ALTRI TIPI DI CONNESSIONE Socket Un socket è una connessione a una porta su un computer remoto, che è usata per scambiare informazioni con comandi HTTP Supponiamo che la nostra applicazione voglia ricevere
DettagliServer Sequenziale. Server Concorrente. Socket Java con connessione. Materiale addizionale per esercitazioni facoltative
Materiale addizionale per esercitazioni facoltative Socket Java con connessione Server Sequenziale Std Input Sviluppare un applicazione C/S che effettui il trasferimento di un file dal client al server
DettagliLaboratorio di reti I: Il pacchetto java.net
Laboratorio di reti I: Il pacchetto java.net Stefano Brocchi brocchi@dsi.unifi.it 5 novembre, 2008 Stefano Brocchi Laboratorio di reti I: Il pacchetto java.net 5 novembre, 2008 1 / 43 Concetti di base
DettagliCorso di Reti di Calcolatori T
Università degli Studi di Bologna Scuola di Ingegneria Corso di Reti di Calcolatori T Esercitazione 1 (svolta) Socket Java senza connessione Luca Foschini Anno accademico 2017/2018 Esercitazione 1 1 Architettura
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
DettagliLezione n.5 LPR-Informatica Applicata 13/3/2006
Lezione n.5 LPR-Informatica Applicata 13/3/2006 1 LA CLASSE BYTEARRAYOUTPUTSTREAM Definisce una struttura dati protected byte buf [ ]; protected int count buf memorizza i bytes che vengono scaricati sullo
DettagliJava in Rete. Socket in Java. Linguaggi. Corso di Laurea Ingegneria Informatica (M-Z) A.A
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 Socket in Java 1 Java in Rete Java permette
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
Dettagli! " # $ % &! ' ( ) (! 9 :! ; " / < 0 < "! 9 0 & %. 0 % & =! < 0 ; <. < > > <! 9?! ". & %!
! " # $ % &! ' ( ) (! 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
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
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
DettagliFondamenti di Internet e Reti. Antonio Capone, Matteo Cesana, Ilario Filippini, Guido Maier
Fondamenti di Internet e Reti Antonio Capone, Matteo Cesana, Ilario Filippini, Guido Maier Fondamenti di Internet e Reti Programmazione Socket Antonio Capone, Matteo Cesana, Ilario Filippini, Guido Maier
DettagliJava Socket LSO 2008
Java Socket LSO 2008 Modello Client/Server Richiesta di servizio Risposta Il cosiddetto lato client, effettua la richiesta di esecuzione di un servizio. La sua controparte, il lato server, effettua l esecuzione
DettagliOrganizzazione della lezione. Invocazione remota di metodi fai-da-te. Lezione 12 Introduzione a Remote Method Invocation
Organizzazione della lezione Lezione 12 Introduzione a Remote Method Invocation Vittorio Scarano Corso di Programmazione Distribuita (2003-2004) Laurea di I livello in Informatica Università degli Studi
DettagliProtocolli Internet. Canale di comunicazione. canale di comunicazione
Network Programming Java Programming Language Livelli di middleware Applicazioni e servizi RMI send, receive, read, write serializzazione UDP e TCP Rete 2 Protocolli Internet Un processo è definito da
DettagliInformatica. Prof. A. Longheu. Input e Output
Informatica Prof. A. Longheu Input e Output 1 Il package java.io Il package java.io definisce i concetti base per gestire l I/O da qualsiasi sorgente e verso qualsiasi destinazione. L obiettivo è fornire
DettagliReti (già Reti di Calcolatori )
Reti (già Reti di Calcolatori ) Cenni di Socket Programming Renato Lo Cigno http://disi.unitn.it/locigno/index.php/teaching-duties/computer-networks Socket API Programmazione dei socket Obiettivo:imparare
DettagliAPI Socket di Berkeley
Laboratorio Reti di Calcolatori (A.A. 2008-2009) Programmazione di rete ed interfaccia API socket di Berkeley Delfina Malandrino delmal@dia.unisa.it http://www.dia.unisa.it/professori/delmal/ API Socket
DettagliApplicazioni di rete
Applicazioni di rete Programmi in esecuzione su end systems che comunicano attraverso la rete esempio: web server comunica con browser application transport network data link physical Non è necessario
DettagliLa paninoteca. Mi resta da scrivere solo costo()
La paninoteca Mi resta da scrivere solo costo() La paninoteca Usiamo l ereditarietà per definire dei Panini particolari Ci sono alcuni tipi di pane Estendendo Panino scrivo meno codice Nell esempio eredito
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
DettagliIntroduzione ai (Java) socket
Introduzione ai (Java) socket Ivan Lanese slides originali di Tassi, Gessa, Ghini Dipartimento di Scienze dell informazione April 14, 2010 Outline Argomenti reti di calcolatori livelli OSI internet protocol
DettagliLETTURA DI DATI DA INPUT
LETTURA DI DATI DA INPUT Gli stream di byte consentono già di leggere dati (numeri di vario tipo), tramite la classe DataInputStream FileDescriptor InputStream SequenceInputStream ByteArrayInputStream
DettagliURL e CONNESSIONI JAVA E LA RETE COMUNICAZIONE. URL e CONNESSIONI ESEMPIO CON URL ESEMPIO CON URL
JAVA E LA RETE L architettura Java è network-ready Package java.net Concetti (classi) fondamentali:, Server URL, AudioClip, Image Package java.rmi Uso di oggetti remoti URL e CONNESSIONI La classe URL
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
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
DettagliSD.5b.1 17:04. Middleware e rete. Destinatario. Mittente send. Message passing. receive. comunicazione sincrona
Comunicazione: Socket,, RPC ed RMI - Socket (1/3) Comunicazione: Socket,, RPC ed RMI - Socket (2/3) Comunicazione: Socket,, RPC ed RMI - Socket (3/3) Creare un applicazione distribuita Socket: Canali di
DettagliLezione n.4 LPR INFORMATICA APPLICATA CONNECTION ORIENTED SOCKETS
Università degli Studi di Pisa Lezione n.4 LPR INFORMATICA APPLICATA CONNECTION ORIENTED SOCKETS 10/03/2008 Laura Ricci Laura Ricci 1 RIASSUNTO DELLA PRESENTAZIONE Discussione di alcuni esercizi assegnati
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
DettagliAltri tipi di connessione
Altri tipi di connessione Francesca Martelli f.martel@di.unipi.it Socket Un socket è una connessione a una porta su un computer remoto, che è usata per scambiare informazioni con comandi HTTP Supponiamo
DettagliLaurea in Informatica. "Programmazione Distribuita" - Prof. Scarano. A.A Università di Salerno 1. Organizzazione della lezione
12. Invocazione di Metodi Remoti Vittorio Corso di Programmazione Distribuita Laurea di I livello in Informatica Università degli Studi di Salerno Organizzazione della lezione Modelli di programmazione:
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
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
DettagliCorso 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
DettagliLezione n.7b. TCP Sockets & Multicast. 24/11/2009 Vincenzo Gervasi
Università degli Studi di Pisa Dipartimento di Informatica Lezione n.7b LPR-A-09 TCP Sockets & Multicast 24/11/2009 Vincenzo Gervasi ULezione 7: TCP Sockets e Multicast Vincenzo Ger asi 1 GRUPPI DI PROCESSI:
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
DettagliRiassunto. Rassegna API - 2: eccezioni e file. Eccezioni. Oggi. Gettare, catturare, rimbalzare. Gettare. Stefano Mizzaro 1
Rassegna API - 2: eccezioni e file Stefano Mizzaro Dipartimento di matematica e informatica Università di Udine http://www.dimi.uniud.it/mizzaro/ mizzaro@dimi.uniud.it Programmazione, lezione 21 Riassunto
DettagliI.I.S. G.B. PENTASUGLIA MATERA ISTITUTO TECNICO SETTORE TECNOLOGICO LICEO SCIENTIFICO SCIENZE APPLICATE. Classe: 5Ci
I.I.S. G.B. PENTASUGLIA MATERA ISTITUTO TECNICO SETTORE TECNOLOGICO LICEO SCIENTIFICO SCIENZE APPLICATE Disciplina: Tecnologie e Progettazione di Sistemi Informatici e di Telecomunicazione Cognome e Nome:
DettagliI/O Streams in Java. Lorenzo Gallucci
I/O Streams in Java Lorenzo Gallucci I/O Streams La libreria Java dispone di un API sofisticata per l interfacciamento I/O Il package di riferimento è java.io Due classi principali InputStream, per l input
DettagliParte II: Reti di calcolatori Lezione 12 (36)
Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2017-18 Pietro Frasca Parte II: Reti di calcolatori Lezione 12 (36) Martedì 24-04-2018 1 Confronto
DettagliJAVA E LA RETE IL CONCETTO DI SOCKET. RETI DI CALCOLATORI Linguaggio Java: La Programmazione di Rete. già pronta!! COMUNICAZIONE VIA SOCKET CORSO DI
Università degli Studi di Modena e Reggio Emilia Facoltà di Ingegneria Reggio Emilia JAVA E LA RETE CORSO DI RETI DI CALCOLATORI Linguaggio Java: La Programmazione di Rete Prof. Franco Zambonelli Lucidi
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
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
DettagliRiassunto. Rassegna API - 2: eccezioni e file. Eccezioni. Oggi. Gettare. Gettare, catturare, rimbalzare. Stefano Mizzaro 1
Rassegna API - 2: eccezioni e file Stefano Mizzaro Dipartimento di matematica e informatica Università di Udine http://www.dimi.uniud.it/mizzaro/ mizzaro@uniud.it Programmazione, lezione 18,19 15,19/11/2013
DettagliLezione n.3 LIVELLO TRASPORTO
Università degli Studi di Pisa Lezione n.3 SSIS INFORMATICA LIVELLO TRASPORTO 30/11/2007 Laura Ricci Laura Ricci 1 LIVELLO TRASPORTO realizza un supporto per la comunicazione logica tra processi distribuiti
DettagliLaboratorio Reti di Calcolatori Laurea Triennale in Comunicazione Digitale. Anno Accademico 2012/2013
Laboratorio Reti di Calcolatori Laurea Triennale in Comunicazione Digitale Anno Accademico 2012/2013 Streams Maggior parte della programmazione di rete è eseguire operazione di input e output. Sposto byte
Dettagli