Il Linguaggio Java: Socket.

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Il Linguaggio Java: Socket."

Transcript

1 Il Linguaggio Java: Socket Il Linguaggio Java: Socket. Walter Cazzola Dipartimento di Informatica e Comunicazione Università à degli Studi di Milano. Walter Cazzola Java Avanzato: Socket 1

2 Internet Con il concetto di internet si indica una collezione di una o più reti connesse da router. La rete che conosciamo come Internet non è altro che un esempio del concetto stesso di internet. LAN Router LAN Router WAN Router LAN Router LAN Walter Cazzola Java Avanzato: Socket 2

3 Protocolli di Rete Un protocollo è un insieme di regole che governano le comunicazioni. Esempi: SMTP: : Simple Mail Transfer Protocol HTTP: HyperText Transfer Protocol FTP: : File Transfer Protocol Il protocollo HTTP utilizza un Uniform Resource Locator (URL) per specificare un indirizzo Internet: METODO://NOME-HOST/PERCORSO Walter Cazzola Java Avanzato: Socket 3

4 Protocolli di Rete: : Client/Server Un applicazione client/server spezza un task fra due processi (spesso su computer diversi): il client ed il server. Server Richiesta Servizio Fornitura Servizio Client Protocollo Client/Server: Server: mette a disposizione un servizio su un particolare host. Client: contatta il server e richiede il servizio. Server: accetta e soddisfa una richiesta da parte di un client. Walter Cazzola Java Avanzato: Socket 4

5 Protocolli di Rete: : ISO/OSI Una rete è divisa in diversi strati, ognuno dei quali gestisce uno specifico protocollo.. I messaggi scambiati sulla rete attraversano ogni singolo strato: Application Level: Fornisce i servizi. Es. HTTP, SMTP, e DNS Transport Layer: Consegna i pacchetti; Es. TCP, e UDP Network Layer: Sposta i pacchetti; Fornisce internetworking: indirizzi IP. Physical e Data Link Layers: Trasmette i singoli bit di un pacchetto attraverso un dispositivo, da un indirizzo a un altro. Es. ETHERNET. Protocolli di trasmissione a basso livello. Walter Cazzola Java Avanzato: Socket 5

6 Il Protocollo di Internetworking (IP) Il protocollo di internetworking (IP) traduce un protocollo di rete in un altro. IP rende possibile la comunicazione tra reti diverse: Ethernet-based LAN Router(IP Protocol) Token-ring based LAN "hello" "goodbye" hello=bonjour au revoir=goodbye "bonjour" "au revoir" English Protocol French Protocol Walter Cazzola Java Avanzato: Socket 6

7 Il Package java.net DatagramPacket DatagramSocket InetAddress java.net Key Classe Object java.lang ServerSocket Socket URL Classe Astratta Classe Finale estende URLConnection HttpURLConnection URLEncoder MalformedURLException IOException java.io ProtocolException SocketException UnknownHostException BindException ConnectException NoRouteToHostException UnknownServiceException Walter Cazzola Java Avanzato: Socket 7

8 Java Library: java.net.url Metodi per collegarsi ad un sito web: public final class URL extends Object { // Costruttore public URL( String urlspec ) throws MalformedURLException; // metodi di istanza pubblici public URLConnection openconnection() throws IOException; public final InputStream openstream() throws IOException; Esempio: URL della risorsa. URL url; try { url = new URL("http://www.disi.unige.it/person/CazzolaW/index.html"); "); catch (MalformedURLException( e) { System.out.println("Malformed URL: " + url.tostring()) ; Walter Cazzola Java Avanzato: Socket 8

9 Applet: Scaricare dalla Rete Metodi per scaricare risorse (audio/video) dalla rete: public class Applet extends Panel { public AppletContext getappletcontext(); public AudioClip getaudioclip(url url); public Image getimage(url url); public void play(url url); public void showstatus(string msg); URL url; try { url = new URL("http://www.disi.unige.it/person/CazzolaW/sound.au"); "); play(url); url = new URL("http://www.disi.unige.it/person/CazzolaW/demo.gif") ") ; imgref = getimage(url); catch (MalformedURLException( e) { System.out.println("Malformed URL: "+url.tostring url.tostring()) ; Scarica e suona un file audio. Scarica e memorizza un immagine. Walter Cazzola Java Avanzato: Socket 9

10 Es.: Scaricare e Visualizzare un File Leggere il contenuto di un file remoto è, grosso modo, come leggere un file locale. public class Download { private URL url; // l URL del file che si vuole scaricare. private BufferedReader data; // il Reader che useremo per accedere al file. public Download(String _url)) throws MalformedURLException { url = new URL(_url); public void readtext() throws IOException { data = new BufferedReader(new InputStreamReader(url.openStream())); ())); String line = data.readline(); while (line!= null) { // legge ogni singola riga del file System.out.println(line); // e la visualizza sul terminale line = data.readline(); data.close(); // readtextintodisplay() BufferedReader.readLine() ritorna null alla fine del file. Walter Cazzola Java Avanzato: Socket 10

11 Es.: Scaricare e Visualizzare un File Metodo main(): public static void main(string argv[]) { try { Download d = new Download("http://www.disi.unige.it/person/CazzolaW/index.html"); "); d.readtext(); // scarica e visualizza la pagina HTML catch (MalformedURLException( e) { // potrebbe essere lanciato da URL() System.out.println("URL: : "+e.getmessage e.getmessage()); catch( IOException e ) { // potrebbe essere lanciato da read() o close() System.out.println("IO: : "+e.getmessage e.getmessage()); Walter Cazzola Java Avanzato: Socket 11

12 Comunicazioni Client/Server Via Sockets Un socket è un canale di comunicazione bidirezionale. Sono state introdotte in Unix nel La gestione (creazione, uso e rilascio) delle socket è interamente a carico dell applicazione. Paradigma Client/Server. Il server crea un socket su una porta specifica ed attende che il client richieda una connessione. Due tipi di trasporto via socket: UDP (veloce( ma inaffidabile) ) e TCP. Walter Cazzola Java Avanzato: Socket 12

13 Socket Ogni socket ha due flussi, uno per l input e l altro per l output. Socket Connection Server Input Stream Output Stream Client Analogia: chiamata telefonica. Server: attende che il telefono suoni allora inizia il servizio. Client: chiama il numero telefonico (URL), si connette e richiede un servizio. Walter Cazzola Java Avanzato: Socket 13

14 Socket Programming con TCP Affinché il cliente possa collegarsi al server: il server deve essere già in esecuzione; ; e DEVE aver creato il socket che da il benvenuto al client. Connessione del cliente: si crea un TCP socket locale al cliente; specificando l IP del server e la porta su cui sta attendendo la connessione. il client TCP crea una connessione al server TCP. Lato server: Il server TCP crea il socket per permettere la comunicazione; Nota.. TCP offre un trasferimento ordinato ed affidabile dei byte in un canale fra client e server. Walter Cazzola Java Avanzato: Socket 14

15 Socket: Protocollo Base dei Server Pseudocodice: Java: Socket connectionsocket; // riferimento al socket ServerSocket welcomesocket; // la porta sulla quale il server sarà in attesa try { welcomesocket = new ServerSocket(10001); // creare una porta connectionsocket = welcomesocket.accept(); // attende richiesta connessione // comunicazione con il client 1. Creare un SocketServer e scegliere una porta. 2. Mettersi in ascolto sulla porta e accettare una connessione da un client. 3. Conversare col client. 4. Chiudere il socket. connectionsocket.close(); // chiudere il socket catch (IOException( e) { e.printstacktrace(); Su thor.disi.unige.it Walter Cazzola Java Avanzato: Socket 15

16 Socket: Protocollo Base dei Client Pseudocodice: Java: 1. Apre una connessione verso il server specificato. 2. Conversa con il server. 3. Chiude la connessione. Socket clientsocket; // riferimento al socket try { clientsocket = new Socket( thor.disi.unige.it", 10001); // connessione // effettua la comunicazione con il server clientsocket.close(); // chiude il socket catch (IOException( e ) { e.printstacktrace(); Walter Cazzola Java Avanzato: Socket 16

17 Interazione Client/Server (TCP) Server (Eseguito su A) Client (Eseguito su B) Crea socket su porta x per richieste in arrivo. welcomesocket = ServerSocket( ) Attesa richieste di creazione nuovo socket. connectionsocket = welcomesocket.accept() Si stabilisce una Connessione TCP Richiesta connessione ad A sulla posta x. clientsocket = Socket( ) Legge dati dal socket. connectionsocket Scrive dati sul socket. clientsocket Scrive dati sul socket. connectionsocket Legge dati dal socket. clientsocket Chiude la connessione. connectionsocket.close() Chiude la connessione. clientsocket.close() Walter Cazzola Java Avanzato: Socket 17

18 Socket: Scrivere in un Socket Un metodo per scrivere su un socket (usabile( sia da client che da server): protected void writetosocket(socket sock, String str) throws IOException { ostream = sock.getoutputstream(); for (int( k = 0; k < str.length() ; k++) ostream.write(str.charat(k)); // writetosocket() Ottiene lo Stream di Output. Scrive sullo Stream di Output. Un socket crea automaticamente i propri stream. Nota: : non chiudere lo stream del socket dopo un operazione di I/O a meno che il socket non sia più necessario. Walter Cazzola Java Avanzato: Socket 18

19 Socket: Leggere da un Socket Analogamente a quanto fatto per scrivere su un socket: protected String readfromsocket(socket sock) throws IOException { istream = sock.getinputstream(); String str=""; char c; while ( ( c = (char) istream.read() )!= '\n')' str = str + c + ""; return str; legge Ottiene lo Stream di Input. legge un byte e lo converte in char. Protocollo: : se il client scrive dei byte, il server DEVE leggere tali byte e viceversa. Walter Cazzola Java Avanzato: Socket 19

20 Esempio: : Echo Client/Server Scrivere un applicazione client/server il cui comportamento è: input da tastiera. Echo server at thor.disi.unige.it waiting for connections Accepted a connection from thor.disi.unige.it Closed the connection Accepted a connection from thor.disi.unige.it Closed the connection CLIENT: connected to thor.disi.unige.it thor.disi.unige.it' SERVER: Hello, how may I help you? CLIENT: type a line or 'goodbye' to quit INPUT: hello SERVER: You said 'hello' INPUT: this is fun SERVER: You said 'this is fun' INPUT: goodbye SERVER: Goodbye CLIENT: connection closed Client Side: Server Side: Walter Cazzola Java Avanzato: Socket 20

21 Esempio: : Echo Client/Server (cont.) Si usa una classe comune che fornisca le operazioni di lettura e scrittura sul file e nasconda la natura duale dei socket. public class ClientServer extends Thread { protected InputStream istream; // i due flussi legati al socket protected OutputStream ostream; protected String readfromsocket(socket sock) throws IOException { istream = sock.getinputstream(); String str=""; char c; while ( ( c = (char) istream.read() )!= '\n')' str = str + c + ""; return str; // readfromsocket() Classe Comune protected void writetosocket(socket sock, String str) ) throws IOException { ostream = sock.getoutputstream(); if (str.charat( str.charat( str.length() - 1 )!= '\n')' str = str + '\n';' for (int( k = 0; k < str.length() ; k++) ostream.write(str.charat(k)); // writetosocket() // ClientServer Walter Cazzola Java Avanzato: Socket 21

22 Esempio: : Echo Client/Server (cont.) public class EchoServer extends ClientServer { private ServerSocket port; private Socket socket; public EchoServer(int portnum, int nbacklog) ) { port = new ServerSocket(portNum, nbacklog); public void run() { while(true) ) { socket = port.accept(); System.out.println("Accepted a connection from " + socket.getinetaddress()); provideaservice(socket); socket.close(); System.out.println("Closed the connection\n"); n"); // run() protected void provideaservice(socket socket) { writetosocket(socket,, "Hello, how may I help you?\n"); do { str = readfromsocket(socket); if (str.tolowercase().equals("goodbye( str.tolowercase().equals("goodbye")) ")) writetosocket(socket,, "Goodbye\n"); else writetosocket( ( socket, "You said '" + str + "'\n"); while (!str.tolowercase().equals("goodbye str.tolowercase().equals("goodbye")); ")); // provideaservice() Classe Server Walter Cazzola Java Avanzato: Socket 22

23 Esempio: : Echo Client/Server (cont.) public class EchoClient extends ClientServer { protected Socket socket; private BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); public EchoClient(String url, int port) { socket = new Socket(url,, port); System.out.println("CLIENT: : connected to " + url + ":" + port); // EchoClient() public void run() { requestaservice(socket); socket.close(); // run() Classe Client protected void requestaservice(socket socket) { String servstr = readfromsocket(socket); // effettua l handshaking if (servstr.substring(0,5).equals("hello")) { String userstr = ""; do { userstr = in.readline(); // legge l input writetosocket(socket, userstr + "\n");" // lo scrive sul socket servstr = readfromsocket(socket); // legge la risposta del server System.out.println("SERVER: : " + servstr); // e la visualizza while (!userstr.tolowercase().equals("goodbye userstr.tolowercase().equals("goodbye")); ")); // finché non riceve un goodbye // requestaservice() Walter Cazzola Java Avanzato: Socket 23

24 Socket Programming con UDP UDP offre un trasferimento inaffidabile di gruppi di byte (datagram) fra client e server. UDP: nessuna connessione fra client e server: nessun handshaking; il client attacca esplicitamente ad datagram l indirizzo IP e la porta di destinazione; il server deve estrarre l indirizzo IP e la porta del client dal datagram ricevuto; UDP: i dati trasmessi possono essere persi o ricevuti nell ordine sbagliato. Walter Cazzola Java Avanzato: Socket 24

25 Interazione Client/Server (UDP) Server (Eseguito su A) Client (Eseguito su B) Crea socket su porta x per richieste in arrivo. serversocket = DatagramSocket( ) Crea socket clientsocket = DatagramSocket( ) Legge dati dal socket serversocket Crea (IP,port)) e manda richiesta datagram clientsocket Scrive dati sul socket serversocket Specificando porta e ip Legge dati dal socket. clientsocket Chiude il socket. clientsocket.close() Walter Cazzola Java Avanzato: Socket 25

26 InetAddress Classe che incapsula gli indirizzo IP (supporta( sia nomi simbolici che indirizzi numerici). getlocalhost() (): rende un oggetto InetAddress rappresentante l IP del localhost; getbyname() (): rende un oggetto InetAddress relativo all IP dell host specificato come argomento. Walter Cazzola Java Avanzato: Socket 26

27 DatagramSocket Classe che implementa i socket, sia client che server, con protocollo UDP; send(): spedisce datagram (oggetti( della classe DatagramPacket); receive(): riceve datagram; getlocalport(): ritorna la porta su cui è aperto il socket. getlocaladdress(): ritorna l indirizzo del localhost. Walter Cazzola Java Avanzato: Socket 27

28 DatagramPacket Classe che implementa i datagram UDP spediti. costruttori: per datagram spediti; ; e per datagram ricevuti. metodi: getdata() (): ritorna i dati contenuti nel datagram; getport() (): ritorna la porta di destinazione del datagram; getsocketaddress() (): Ritorna l indirizzo di destinazione del datagram. Walter Cazzola Java Avanzato: Socket 28

29 Esempio: : Java Client (UDP) class UDPClient { public static void main(string args[]) throws Exception { DatagramSocket clientsocket = new DatagramSocket(); // crea client socket InetAddress IPAddress = InetAddress.getByName("hostname"); "); // recupera IP byte[] senddata = new byte[1024]; byte[] receivedata = new byte[1024]; // crea datagram da inviare DatagramPacket sendpacket = new DatagramPacket(sendData, senddata.length, IPAddress,, 9876); clientsocket.send(sendpacket); // spedisce datagram DatagramPacket receivepacket = new DatagramPacket(receiveData, receivedata.length); clientsocket.receive(receivepacket); // legge Il datagram dal server String modifiedsentence = new String(receivePacket.getData()); ()); clientsocket.close(); Walter Cazzola Java Avanzato: Socket 29

30 Esempio Java Server (UDP) class UDPServer { public static void main(string args[]) throws Exception { DatagramSocket serversocket = new DatagramSocket(9876); // crea datagram socket alla porta 9876 byte[] receivedata = new byte[1024]; byte[] senddata = new byte[1024]; while(true) ) { // crea spazio per il datagram che dovrà ricevere DatagramPacket receivepacket = new DatagramPacket(receiveData, receivedata.length); serversocket.receive(receivepacket); // riceve datagram InetAddress IPAddress = receivepacket.getaddress(); // recupera IP e porta del mittente int port = receivepacket.getport(); senddata = elaboratedsentence.getbytes(); // costruisce il datagram da ritornare DatagramPacket sendpacket = new DatagramPacket(sendData, senddata.length, IPAddress,, port); serversocket.send(sendpacket); // scrive datagram nel socket. Walter Cazzola Java Avanzato: Socket 30

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

Dettagli

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

Dettagli

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 lisi@di.uniba.it Orario di ricevimento: mercoledì

Dettagli

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

Dettagli

DNS: Domain Name System

DNS: Domain Name System DNS: Domain Name System Persone: identificatori: CF, nome, Numero di Passaporto Host e router Internet: Indirizzo IP (32 bit) - usato per instradare i pacchetti nome, per es., mario.lit.unicas.it - usati

Dettagli

DNS: Domain Name System

DNS: Domain Name System DNS: Domain Name System Persone: identificatori: CF, nome, Numero di Passaporto Host e router Internet: Indirizzo IP (32 bit) - usato per instradare i pacchetti nome, per es., massimotto.diiie.unisa.it

Dettagli

I name server DNS. DNS: Domain Name System. Esempio di DNS. DNS: Root name server. DNS: queries ripetute

I name server DNS. DNS: Domain Name System. Esempio di DNS. DNS: Root name server. DNS: queries ripetute DNS: Domain Name System I name DNS Persone: identificatori: CF, nome, Numero di Passaporto Host e router Internet: Indirizzo IP ( bit) - usato per instradare i pacchetti nome, per es., massimotto.diiie.unisa.it

Dettagli

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 tomamic@ce.unipr.it Protocolli Internet I computer

Dettagli

(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

Dettagli

Laboratorio di reti I: Il pacchetto java.net

Laboratorio 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

Dettagli

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

Dettagli

Parte II: Reti di calcolatori Lezione 12

Parte 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

Dettagli

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à

Dettagli

Datagrammi. NOTA: MulticastSocket estende DatagramSocket

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

Dettagli

Java Socket LSO 2008

Java 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

Dettagli

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

Dettagli

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

Dettagli

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

Dettagli

Corso di Reti di Calcolatori

Corso 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

Dettagli

DNS: Domain Name System

DNS: Domain Name System DNS: Domain Name System Persone: molte mezzi di identificazione: CF, nome, # Passaporto Host, router Internet: Indirizzi IP (32 bit) usati per indirizzare i datagrammi IP Nome, es., gaia.cs.umass.edu usati

Dettagli

DNS: Domain Name System

DNS: Domain Name System DNS: Domain Name System Persone: molte mezzi di identificazione: " CF, nome, # Passaporto Host, router Internet: " Indirizzi IP (32 bit) usati per indirizzare i datagrammi IP " Nome, es., gaia.cs.umass.edu

Dettagli

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

Dettagli

Introduzione. Java. G. Prencipe prencipe@di.unipi.it. accesso alla rete -- TCP

Introduzione. Java. G. Prencipe prencipe@di.unipi.it. accesso alla rete -- TCP Java accesso alla rete -- TCP G. Prencipe prencipe@di.unipi.it Introduzione Storicamente, programmare su un sistema di macchine distribuite è sempre stato complesso Il programmatore doveva conoscere diversi

Dettagli

Corso di Reti di Calcolatori. Datagrammi

Corso 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

Dettagli

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

Dettagli

(VHUFLWD]LRQLGLEDVHVXOOH6RFNHWLQ-DYD 6RFNHWGLWLSRGDWDJUDP

(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

Dettagli

Protocolli Internet. Canale di comunicazione. canale di comunicazione

Protocolli 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

Dettagli

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

Dettagli

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:

Dettagli

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

Dettagli

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

Dettagli

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

Dettagli

Fondamenti 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 Antonio Capone, Matteo Cesana, Ilario Filippini, Guido Maier Fondamenti di Internet e Reti Programmazione Socket Antonio Capone, Matteo Cesana, Ilario Filippini, Guido Maier

Dettagli

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

Dettagli

PROGRAMMARE IN JAVA VOLUME II

PROGRAMMARE IN JAVA VOLUME II Graziano Frosini Alessio Vecchio PROGRAMMARE IN JAVA VOLUME II PROGRAMMAZIONE DI RETE INTERFACCE GRAFICHE STRUTTURE DATI JVM JVM SOCKET SOCKET PROGRAMMARE IN JAVA Volume II POGRAMMAZIONE DI RETE INTERFACCE

Dettagli

Telematica II 12. Esercitazione/Laboratorio 4

Telematica 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

Dettagli

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

Dettagli

DNS: Domain Name System

DNS: Domain Name System DNS: Domain Name System Persone: identificatori: CF, nome, Numero di Passaporto Host e router Internet: Indirizzo IP (32 bit) - usato per instradare i pacchetti nome, per es., massimotto.diiie.unisa.it

Dettagli

Altri tipi di connessione

Altri 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

Dettagli

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

Dettagli

Corso di Reti di Calcolatori. java.net.url

Corso di Reti di Calcolatori. java.net.url Corso di Reti di Calcolatori UNICAL Facoltà di Ingegneria a.a. 2002/2003 Esercitazione sul networking in Java (2 a parte) paolo.trunfio@deis.unical.it 1 java.net.url URL (String spec) crea un oggetto URL

Dettagli

Basic Network Tutorial

Basic Network Tutorial java.net net.* Basic Network Tutorial aprile 2005 Agenda Java e network programming Low-level programming, network programming e distributed computing UDP e TCP Client e Server Applicazioni Bibliografia

Dettagli

Applicazioni distribuite

Applicazioni distribuite Applicazioni distribuite Maurizio Cozzetto 1 agosto 2009 Un pò di teoria Ricordiamo che un'applicazione distribuita è un'applicazione composta da più programmi (almeno 2) posti in esecuzione su macchine

Dettagli

Esercitazione. Formato di compitini e compiti: domande ed esercizi "closed book" G. Ferrari - Reti di calcolatori.

Esercitazione. Formato di compitini e compiti: domande ed esercizi closed book G. Ferrari - Reti di calcolatori. Esercitazione Formato di compitini e compiti: domande ed esercizi "closed book" Esercitazione - 1 Domanda 1 In una comunicazione di rete tra due host, quale è il client e quale è il server. Necessario:

Dettagli

Laboratorio Reti di Calcolatori Laurea Triennale in Comunicazione Digitale. Anno Accademico 2013/2014

Laboratorio Reti di Calcolatori Laurea Triennale in Comunicazione Digitale. Anno Accademico 2013/2014 Laboratorio Reti di Calcolatori Laurea Triennale in Comunicazione Digitale Anno Accademico 2013/2014 Diversi modelli di livelli di rete, Java si focalizza su modello TCP(UDP)/IP Viene creato un percorso

Dettagli

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

Dettagli

Dal protocollo IP ai livelli superiori

Dal protocollo IP ai livelli superiori Dal protocollo IP ai livelli superiori Prof. Enrico Terrone A. S: 2008/09 Protocollo IP Abbiamo visto che il protocollo IP opera al livello di rete definendo indirizzi a 32 bit detti indirizzi IP che permettono

Dettagli

Lezione 5: Socket SSL/ TLS. Corso di Programmazione in Rete Laurea Magistrale in Ing. Informatica Università degli Studi di Salerno

Lezione 5: Socket SSL/ TLS. Corso di Programmazione in Rete Laurea Magistrale in Ing. Informatica Università degli Studi di Salerno Lezione 5: Socket SSL/ TLS Corso di Programmazione in Rete Laurea Magistrale in Ing. Informatica Università degli Studi di Salerno 1 Outline Introduzione Gestione delle chiavi e dei certificati Comunicazione

Dettagli

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

Dettagli

Networking. Mauro Migliardi Ph. D.

Networking. Mauro Migliardi Ph. D. Software Architectures Networking Mauro Migliardi Ph. D. A word of wisdom The word networking strikes fear in the hearts of many programmers. Fear not! Using the networking capabilities provided in the

Dettagli

Introduzione ai (Java) socket

Introduzione 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

Dettagli

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)

Dettagli

Lezione n.2 20/2/2006

Lezione n.2 20/2/2006 Lezione n.2 LPR-Informatica Applicata Gestione indirizzi IP 20/2/2006 Gestione Indirizzi IP 1 Schema della Presentazione Gestione Indirizzi IP La classe JAVA. InetAddress Thread pooling Gestione Indirizzi

Dettagli

Luca Mari, Sistemi informativi applicati (reti di calcolatori) appunti delle lezioni. Architetture client/server: applicazioni client

Luca Mari, Sistemi informativi applicati (reti di calcolatori) appunti delle lezioni. Architetture client/server: applicazioni client Versione 25.4.05 Sistemi informativi applicati (reti di calcolatori): appunti delle lezioni Architetture client/server: applicazioni client 1 Architetture client/server: un esempio World wide web è un

Dettagli

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

Dettagli

Luca Mari, Sistemi informativi applicati (reti di calcolatori) appunti delle lezioni. Architetture client/server: applicazioni server

Luca Mari, Sistemi informativi applicati (reti di calcolatori) appunti delle lezioni. Architetture client/server: applicazioni server Versione 30.5.05 Sistemi informativi applicati (reti di calcolatori): appunti delle lezioni Architetture client/: applicazioni 1 La logica dei socket Abbiamo visto che un applicazione client si connette

Dettagli

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

Dettagli

PARTE 1 richiami. SUITE PROTOCOLLI TCP/IP ( I protocolli di Internet )

PARTE 1 richiami. SUITE PROTOCOLLI TCP/IP ( I protocolli di Internet ) PARTE 1 richiami SUITE PROTOCOLLI TCP/IP ( I protocolli di Internet ) Parte 1 Modulo 1: Stack TCP/IP TCP/IP Protocol Stack (standard de facto) Basato su 5 livelli invece che sui 7 dello stack ISO/OSI Application

Dettagli

MODELLO CLIENT/SERVER. Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena daino@unisi.it

MODELLO CLIENT/SERVER. Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena daino@unisi.it MODELLO CLIENT/SERVER Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena daino@unisi.it POSSIBILI STRUTTURE DEL SISTEMA INFORMATIVO La struttura di un sistema informativo

Dettagli

Capitolo 16 I servizi Internet

Capitolo 16 I servizi Internet Capitolo 16 I servizi Internet Storia di Internet Il protocollo TCP/IP Indirizzi IP Intranet e indirizzi privati Nomi di dominio World Wide Web Ipertesti URL e HTTP Motori di ricerca Posta elettronica

Dettagli

TFA 42 Sistemi e Reti di Calcolatori per la Didattica

TFA 42 Sistemi e Reti di Calcolatori per la Didattica Università degli Studi di Pisa 42 Sistemi e Reti di Calcolatori per la Didattica 29/03/2013 Laura Ricci Laura Ricci 1 DNS: DOMAIN NAME SYSTEM Persone: molti identificativi: o # CF, nome, # passaporto Host

Dettagli

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

Dettagli

Java Networking TCP J0 1. Marco Ronchetti - ronchet@altavista.it

Java Networking TCP J0 1. Marco Ronchetti - ronchet@altavista.it Java Networking TCP 1 Sockets Java supporta un accesso semplificato e objectoriented alle sockets. Questo rende la network comunicazione di rete sensibilmente piu semplice. Molto piu semplice che in C++!!

Dettagli

INFORMATICA DISTRIBUITA. lez 4 Livello applicazione

INFORMATICA DISTRIBUITA. lez 4 Livello applicazione INFORMATICA DISTRIBUITA prof. lez 4 Livello applicazione Università degli Studi di Milano Scienze e Tecnologie della Comunicazione Musicale a.a. 2009-2010 applicazioni di rete Processo: programma in esecuzione

Dettagli

Introduzione alle applicazioni di rete

Introduzione alle applicazioni di rete Introduzione alle applicazioni di rete Definizioni base Modelli client-server e peer-to-peer Socket API Scelta del tipo di servizio Indirizzamento dei processi Identificazione di un servizio Concorrenza

Dettagli

Introduzione. Livello applicativo Principi delle applicazioni di rete. Stack protocollare Gerarchia di protocolli Servizi e primitive di servizio 2-1

Introduzione. Livello applicativo Principi delle applicazioni di rete. Stack protocollare Gerarchia di protocolli Servizi e primitive di servizio 2-1 Introduzione Stack protocollare Gerarchia di protocolli Servizi e primitive di servizio Livello applicativo Principi delle applicazioni di rete 2-1 Pila di protocolli Internet Software applicazione: di

Dettagli

20 - Input/Output su File

20 - Input/Output su File 20 - Input/Output su File 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

Dettagli

Reti di Calcolatori. Master "Bio Info" Reti e Basi di Dati Lezione 2

Reti di Calcolatori. Master Bio Info Reti e Basi di Dati Lezione 2 Reti di Calcolatori Sommario Software di rete TCP/IP Livello Applicazione Http Livello Trasporto (TCP) Livello Rete (IP, Routing, ICMP) Livello di Collegamento (Data-Link) I Protocolli di comunicazione

Dettagli

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

Dettagli

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

Dettagli

Lezione n.7 LPR -Informatica applicata Socket e Datagram UDP. 11/4/2013 Laura Ricci

Lezione n.7 LPR -Informatica applicata Socket e Datagram UDP. 11/4/2013 Laura Ricci Università degli Studi di Pisa Lezione n.7 LPR -Informatica applicata Socket e Datagram UDP 11/4/2013 Laura Ricci Laura Ricci 1 COMUNICAZIONE CONNECTION ORIENTED VS. CONNECTIONLESS Comunicazione Connection

Dettagli

Programmazione dei socket con TCP #2

Programmazione dei socket con TCP #2 I Il Server e il Client si scambiano messaggi attraverso la rete mediante un dell API (Application Programming Interface) Telematica II 10. Esercitazione/Laboratorio 3 Server ports Clients user space Socket

Dettagli

Reti basate sulla stack di protocolli TCP/IP

Reti basate sulla stack di protocolli TCP/IP Reti basate sulla stack di protocolli TCP/IP Classe V sez. E ITC Pacioli Catanzaro lido 1 Stack TCP/IP Modello TCP/IP e modello OSI Il livello internet corrisponde al livello rete del modello OSI, il suo

Dettagli

Lezione n.7 LPR Informatica Applicata Il Protocollo TCP Stream Socket. 20/04/2009 Laura Ricci

Lezione n.7 LPR Informatica Applicata Il Protocollo TCP Stream Socket. 20/04/2009 Laura Ricci Lezione n.7 LPR Informatica Applicata Il Protocollo TCP Stream Socket 20/04/2009 Laura Ricci Laura Ricci 1 DATAGRAM SOCKET API: RIASSUNTO DELLE PUNTATE PRECEDENTI lo stesso Datagram Socket può essere utilizzato

Dettagli

Remote Method Invocation (RMI)

Remote Method Invocation (RMI) (RMI) Remote Method Invocation (RMI) in Java. Walter Cazzola Dipartimento di Informatica e Comunicazione Università à degli Studi di Milano. e-mail: cazzola@disi disi.unige.it Walter Cazzola Java: Remote

Dettagli

SUITE PROTOCOLLI TCP/IP ( I protocolli di Internet )

SUITE PROTOCOLLI TCP/IP ( I protocolli di Internet ) PARTE 2 SUITE PROTOCOLLI TCP/IP ( I protocolli di Internet ) Parte 2 Modulo 1: Stack TCP/IP TCP/IP Protocol Stack (standard de facto) Basato su 5 livelli invece che sui 7 dello stack ISO/OSI Application

Dettagli

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)

Dettagli

Internet Socket e RMI

Internet Socket e RMI Internet Socket e RMI Programmazione in Rete e Laboratorio Architettura / Un servizio presso un computer-server è identificato dai seguenti valori: IP (32 bit, presto 128 bit) (16 bit) Servizi telnet TCP

Dettagli

Comunicazione tra processi con sockets TCP

Comunicazione tra processi con sockets TCP Comunicazione tra processi con sockets TCP Su una macchina, un processo può aprire una server ocket, ovvero una porta di ascolto, per consentire a processi in esecuzione su altre macchine (o, al limite

Dettagli

ESERCITAZIONI DI LABORATORIO 1

ESERCITAZIONI DI LABORATORIO 1 ESERCITAZIONI DI LABORATORIO 1 JAVA SOCKET Java socket: caratteristiche della comunicazione Si è detto che un socket è come una porta di comunicazione e tutto ciò che è in grado di comunicare tramite il

Dettagli

Servizi di rete e web. Prof. Maurizio Naldi A.A. 2015/16

Servizi di rete e web. Prof. Maurizio Naldi A.A. 2015/16 Servizi di rete e web Prof. Maurizio Naldi A.A. 2015/16 Applicazione Unità di trasmissione dati a livello applicazione Applicazione Presentazione Unità di trasmissione dati a livello presentazione Presentazione

Dettagli

Reti di Calcolatori. Il livello Applicazione. A.A. 2010/2011 Laurea in Informatica

Reti di Calcolatori. Il livello Applicazione. A.A. 2010/2011 Laurea in Informatica Reti di Calcolatori Il livello Applicazione A.A. 2010/2011 Laurea in Informatica Acknowledgement Credits The material is based on slides provided by the following authors Jim Kurose, Keith Ross, Computer

Dettagli

Applicazioni di rete. Applicazioni di rete

Applicazioni di rete. Applicazioni di rete Applicazioni di rete Scrivere programmi in esecuzione su diversi end systems che comunicano attraverso la rete esempio: web server comunica con browser Non è necessario scrivere software per il nucleo

Dettagli

Le Reti Informatiche

Le Reti Informatiche Le Reti Informatiche modulo 10 Prof. Salvatore Rosta www.byteman.it s.rosta@byteman.it 1 Nomenclatura: 1 La rappresentazione di uno schema richiede una serie di abbreviazioni per i vari componenti. Seguiremo

Dettagli

Reti di Calcolatori. Seconda lezione. Realizzato da Roberto Savino: 1

Reti di Calcolatori. Seconda lezione. Realizzato da Roberto Savino: 1 Reti di Calcolatori Seconda lezione 1 Introduzione Obiettivi Acquisire alcuni concetti di base sul livello applicazione Sommario: Servizi forniti dal livello trasporto Programmare i Socket in Java Studio

Dettagli

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

Dettagli

UDP. Livello di Trasporto. Demultiplexing dei Messaggi. Esempio di Demultiplexing

UDP. Livello di Trasporto. Demultiplexing dei Messaggi. Esempio di Demultiplexing a.a. 2002/03 Livello di Trasporto UDP Descrive la comunicazione tra due dispositivi Fornisce un meccanismo per il trasferimento di dati tra sistemi terminali (end user) Prof. Vincenzo Auletta auletta@dia.unisa.it

Dettagli

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2013-14. Pietro Frasca. Parte II Lezione 5

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2013-14. Pietro Frasca. Parte II Lezione 5 Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2013-14 Pietro Frasca Parte II Lezione 5 Martedì 18-03-2014 1 Livello di applicazione Architetture

Dettagli

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

Dettagli

TECNOLOGIE E PROGETTAZIONE DI SISTEMI INFORMATICI E DI TELECOMUNICAZIONI

TECNOLOGIE E PROGETTAZIONE DI SISTEMI INFORMATICI E DI TELECOMUNICAZIONI TECNOLOGIE E PROGETTAZIONE DI SISTEMI INFORMATICI E DI TELECOMUNICAZIONI Confronto tra ISO-OSI e TCP/IP, con approfondimento di quest ultimo e del livello di trasporto in cui agiscono i SOCKET. TCP/IP

Dettagli

Esercizi (1-2): da: TCP/IP Sockets in C (Donahoo-Calvert)

Esercizi (1-2): da: TCP/IP Sockets in C (Donahoo-Calvert) Esercizi PARTE 1 Esercizi (1-2): da: TCP/IP Sockets in C (Donahoo-Calvert) When you make a phone call, it s usually the callee that answers with hello. What changes to our example client and server would

Dettagli

Università Magna Graecia di Catanzaro Facoltà di Medicina e Chirurgia Corso di Laurea in Scienze Infermieristiche Polo Didattico di Reggio Calabria

Università Magna Graecia di Catanzaro Facoltà di Medicina e Chirurgia Corso di Laurea in Scienze Infermieristiche Polo Didattico di Reggio Calabria Università Magna Graecia di Catanzaro Facoltà di Medicina e Chirurgia Corso di Laurea in Scienze Infermieristiche Polo Didattico di Reggio Calabria Corso Integrato di Scienze Fisiche, Informatiche e Statistiche

Dettagli

La rete ci cambia la vita. Le persone sono interconnesse. Nessun luogo è remoto. Reti di computer ed Internet

La rete ci cambia la vita. Le persone sono interconnesse. Nessun luogo è remoto. Reti di computer ed Internet La rete ci cambia la vita Lo sviluppo delle comunicazioni in rete ha prodotto profondi cambiamenti: Reti di computer ed Internet nessun luogo è remoto le persone sono interconnesse le relazioni sociali

Dettagli

Reti di computer ed Internet

Reti di computer ed Internet Reti di computer ed Internet La rete ci cambia la vita Lo sviluppo delle comunicazioni in rete ha prodotto profondi cambiamenti: nessun luogo è remoto le persone sono interconnesse le relazioni sociali

Dettagli

OSOR. Applicazioni di Rete

OSOR. Applicazioni di Rete OSOR Applicazioni di Rete 1 Client-Server in Sistemi Distribuiti Host A Host B Client TCP/UDP IP Network Interface Internet Risultati Server TCP/UDP IP Network Interface Richiesta Applicazioni di Rete

Dettagli

Lavorare in Rete Esercitazione

Lavorare in Rete Esercitazione Alfonso Miola Lavorare in Rete Esercitazione Dispensa C-01-02-E Settembre 2005 1 2 Contenuti Reti di calcolatori I vantaggi della comunicazione lavorare in rete con Windows Internet indirizzi IP client/server

Dettagli

Protocolli per il Web. Impianti Informatici. Protocolli applicativi

Protocolli per il Web. Impianti Informatici. Protocolli applicativi Protocolli per il Web Protocolli applicativi I protocolli applicativi 2 Applicazioni Socket interface HTTP (WEB) SMTP (E-MAIL) FTP... NFS RPC DNS... Trasporto TCP UDP Rete ICMP RIP OSPF IP ARP RARP Non

Dettagli

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

Dettagli

Reti di Telecomunicazioni LB Introduzione al corso

Reti di Telecomunicazioni LB Introduzione al corso Reti di Telecomunicazioni LB Introduzione al corso A.A. 2005/2006 Walter Cerroni Il corso Seguito di Reti di Telecomunicazioni LA Approfondimento sui protocolli di Internet TCP/IP, protocolli di routing,

Dettagli

Reti standard. Si trattano i modelli di rete su cui è basata Internet

Reti standard. Si trattano i modelli di rete su cui è basata Internet Reti standard Si trattano i modelli di rete su cui è basata Internet Rete globale Internet è una rete globale di calcolatori Le connessioni fisiche (link) sono fatte in vari modi: Connessioni elettriche

Dettagli