Telematica II 12. Esercitazione/Laboratorio 4



Documenti analoghi
Programmazione dei socket con TCP #2

Connessioni di rete. Progetto di reti di Calcolatori e Sistemi Informatici - Stefano Millozzi. PdR_ Stefano Millozzi

Datagrammi. NOTA: MulticastSocket estende DatagramSocket

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

Corso di Reti di Calcolatori

Corso di Reti di Calcolatori. Datagrammi

Java Socket LSO 2008

Esercizi su UDP. Esercitazione di Laboratorio di Programmazione di Rete A. Daniele Sgandurra 22/10/2008. Università di Pisa

Reti di Telecomunicazione Lezione 8

Altri tipi di connessione

Modello client-server

Laboratorio di reti I: Il pacchetto java.net

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

Programmare con le Socket

Programmare con le Socket TCP

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

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

Cenni di programmazione distribuita in C++ Mauro Piccolo

TECNOLOGIE E PROGETTAZIONE DI SISTEMI INFORMATICI E DI TELECOMUNICAZIONI

CORSO DI RETI SSIS. Lezione n.2. 2 Novembre 2005 Laura Ricci

Gestione degli indirizzi

Networking. Mauro Migliardi Ph. D.

Reti di Calcolatori:

Introduzione alle applicazioni di rete

appunti delle lezioni Architetture client/server: applicazioni client

Reti di Telecomunicazione Lezione 6

Applicazioni distribuite

Prova di Esame - Rete Internet (ing. Giovanni Neglia) Lunedì 24 Gennaio 2005, ore 15.00

Esercitazione [6] Client/Server con Socket

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

Gestione degli indirizzi

Reti di Calcolatori:

Dal protocollo IP ai livelli superiori

Basic Network Tutorial

Telematica II 17. Esercitazione/Laboratorio 6

Applicazioni web. Parte 5 Socket

Firewall e Abilitazioni porte (Port Forwarding)

Reti di Telecomunicazioni Mobile IP Mobile IP Internet Internet Protocol header IPv4 router host indirizzi IP, DNS URL indirizzo di rete

4 - Il livello di trasporto

Parte II: Reti di calcolatori Lezione 10

Inizializzazione degli Host. BOOTP e DHCP

Esercizio 2. Client e server comunicano attraverso socket TCP

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

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

Prova di Esame - Rete Internet (ing. Giovanni Neglia) Lunedì 24 Gennaio 2005, ore 15.00

Reti di Telecomunicazioni LB Introduzione al corso

P2-11: BOOTP e DHCP (Capitolo 23)

Tesina esame Programmazione di Sistemi Mobile realizzata da Roberto Giuliani matricola Sockets e DatagramSocket

Programmazione in Rete

Corso di Laurea in Ingegneria Informatica. Corso di Reti di Calcolatori I

Protocolli Internet. Canale di comunicazione. canale di comunicazione

Prova in itinere - Rete Internet (ing. Giovanni Neglia) Mercoledì 23 Maggio 2007, ore 15.00

Indirizzi Internet e. I livelli di trasporto delle informazioni. Comunicazione e naming in Internet

Socket & RMI Ingegneria del Software - San Pietro

Comunicazione tra Computer. Protocolli. Astrazione di Sottosistema di Comunicazione. Modello di un Sottosistema di Comunicazione

Transmission Control Protocol

HTTP adaptation layer per generico protocollo di scambio dati

Controllo Winsock di Visual Basic

Architettura Client-Server

Introduzione al TCP/IP Indirizzi IP Subnet Mask Frame IP Meccanismi di comunicazione tra reti diverse Classi di indirizzi IP Indirizzi IP privati e

1. RETI INFORMATICHE CORSO DI LAUREA IN INGEGNERIA INFORMATICA SPECIFICHE DI PROGETTO A.A. 2013/ Lato client

Prof. Filippo Lanubile

Reti di Calcolatori. Il software

Internetworking TCP/IP: esercizi

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

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

Elementi sull uso dei firewall

Prova di Esame - Rete Internet (ing. Giovanni Neglia) Lunedì 7 Febbraio 2005, ore 15.00

Corso di Laurea in Ingegneria Informatica. Corso di Reti di Calcolatori a.a. 2009/10

Arduino Quick Ethernet library Reference

Reti di Telecomunicazione Lezione 7

ARP e RARP. Silvano GAI. sgai[at]cisco.com. Mario BALDI. mario.baldi[at]polito.it Fulvio RISSO

INFORMATICA DISTRIBUITA. lez 4 Livello applicazione

Come funziona il WWW. Architettura client-server. Web: client-server. Il protocollo

REALIZZAZIONE DI UN LABORATORIO REMOTO PER ESPERIENZE DI ROBOTICA EDUCATIVA: LATO CLIENT

Università degli Studi di Pisa Dipartimento di Informatica. NAT & Firewalls

Nelle reti di calcolatori, le porte (traduzione impropria del termine. port inglese, che in realtà significa porto) sono lo strumento

MODELLI ISO/OSI e TCP/IP

Uso di sniffer ed intercettazione del traffico IP

Reti. Reti. IPv4: concetti fondamentali. arp (address resolution protocol) Architettura a livelli (modello OSI)

Configurazione Rete in LINUX

Internet e protocollo TCP/IP

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

Le reti. Introduzione al concetto di rete. Classificazioni in base a


Reti di Calcolatori. Corso di Informatica. Reti di Calcolatori. Reti di Calcolatori. Corso di Laurea in Conservazione e Restauro dei Beni Culturali

ARP/RARP. Problema della Risoluzione dell Indirizzo. Corrispondenza statica e dinamica. Scenari

Prova di Esame - Rete Internet (ing. Giovanni Neglia) Prova completa Mercoledì 2 Marzo 2005, ore 14.30

PIANO DI LAVORO A.S. 2015/16

Transcript:

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 socket IP Corso di Laurea in Ingegneria Informatica Ethernet Adapter A.A. 2009-2010 2 Semestre Prof. Giovanni Pascoschi 2 Interazione con socket client/server UDP UDP User Datagram Protocol Permette di inviare/ricevere pacchetti di byte (datagram) ad / da un host su una porta nota Server (hostid) creazione di un socket, port=13: dgramsocket=datagramsocket( ) Client E' un protocollo connection-less, non orientato alla connessione (in senso stretto); non è garantito l'ordine di arrivo dei pacchetti: è compito dell'applicazione marcare i dati per ricostruirne la sequenza Non offre meccanismi di controllo sul corretto invio dei dati: lo strato applicativo deve gestire tale controllo Protocolli applicativi basati su UDP: DNS, NFS... richiesta di lettura datagram da dgramsocket invia risposta tramite dgramsocket indicando client IP e la porta creazione di un socket, dgramsocket = DatagramSocket( ) creazione di un datagram con il server IP e la porta, invia datagram usando dgramsocket legge datagram dal dgramsocket 3 4 chiude il dgramsocket

Java le seguenti classi per la ricezione e l'invio di pacchetti UDP: Datagram Packet: è una classe double-face usata come contenitore per l'invio e la ricezione dei pacchetti Pacchetti in uscita Sono costruiti a partire da un array di byte byte[ ] contenente i dati da inviare: DatagramPacket(byte[ ] buf, int length, InetAddress address, int port) (costruttore a 4 parametri) Datagram Socket: è la classe responsabile dell'invio dei Datagram Packet ad un server remoto e l'ascolto su una porta UDP locale Pacchetti in ingresso Sono costruiti a partire da un array di byte byte[ ] usato come buffer per i dati in arrivo: DatagramPacket(byte[ ] buf, int length) (costruttore a 2 parametri) 5 6 Metodi principali dell'interfaccia pubblica: byte[ ] getdata() acquisisce i dati in un array di byte InetAddress getaddress() individua l indirizzo IP di classe Inet Address int getlength() individua la lunghezza del messaggio int getport() individua la porta Datagram Socket E' responsabile dell'invio e della ricezione dei Datagram Packet. Metodi principali dell'interfaccia pubblica: DatagramSocket(int port) int getlocalport() individua la porta locale void send(datagrampacket p) invia il datagram void receive(datagrampacket p) riceve il datagram 7 8

Esercitazione su socket UDP lato server Esercitazione 6 Server UDP in JAVA Per utilizzare le classi JAVA utili alla gestione dei socket: import java.net.*; Server UDP 1. Creare un DatagramSocket impostando il numero di porta 2. Creare un buffer per i pacchetti in arrivo 3. Creare un DatagramPacket per i pacchetti in arrivo 4. Accettare un pacchetto in arrivo 5. Ottenere indirizzo IP e porta del mittente 6. Recuperare i dati dal buffer 7. Creare il pacchetto di risposta 8. Inviare il pacchetto di risposta 9. Chiudere il socket Viene illustrato un esercizio UDPDaytimeServer sulla gestione del protocollo UDP lato server in JAVA (esercitazione 9FS) 9 10 Esercitazione su socket UDP lato client Esercitazione 6 Client UDP in JAVA Per utilizzare le classi JAVA utili alla gestione dei socket: import java.net.*; Client UDP 1. Creare un DatagramSocket usando il costruttore senza parametri 2. Creare un DatagramPacket per il pacchetto in uscita 3. Inviare il pacchetto 4. Creare un buffer per i pacchetti in arrivo 5. Creare un DatagramPacket per i pacchetti in arrivo 6. Ricevere un pacchetto in arrivo 7. Recuperare i dati del pacchetto ricevuto 8. Chiudere il socket Viene illustrato un esercizio UDPDaytimeClient sulla gestione del protocollo UDP lato client in JAVA (esercitazione 10FS) 11 12

Ulteriori precisazioni sulla gestione UDP in JAVA Analisi esercizi assegnati nelle precedenti lezioni entrambi client e server usano il DatagramSocket l IP di destinazione e la porta sono esplicitamente associati al datagram puo un client inviare un datagram a un server senza conoscere l IP del server e/o il numero di porta? possono piu client interfacciare il server? analisi risoluzione esercizi n.4, 5 e 6 delle precedenti lezioni 13 14 Riepilogo della lezione Fine della lezione Esercitazione/Laboratorio 4 Gestione protocollo UDP client/server in JAVA Analisi esercizi assegnati n. 4, 5, 6 Domande? 15 16

Esercizio n.10 (su protocollo UDP) Esercizio n.11 (sniffer con protocollo TCP) Realizzare un applicazione client/server con protocollo UDP che implementa il seguente servizio: 1) il client invia al server una frase testuale 2) il server reinvia al client la frase testuale con le lettere maiuscole a) Realizzare un applicazione che analizza i pacchetti HTTP Request di un browser (Internet Explorer e Mozilla) b) Realizzare un applicazione che analizza i pacchetti HTTP Response di un web-browser 17 18