Altri tipi di connessione



Documenti analoghi
ALTRI TIPI DI CONNESSIONE

Telematica II 12. Esercitazione/Laboratorio 4

Introduzione alle applicazioni di rete

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

Socket & RMI Ingegneria del Software - San Pietro

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

Cenni di programmazione distribuita in C++ Mauro Piccolo

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

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

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

Arduino Quick Ethernet library Reference

Architettura Client-Server

Programmazione dei socket con TCP #2

Esercizio 2. Client e server comunicano attraverso socket TCP

Laurea Specialistica in Informatica, Tecnologie Informatiche Anno Accademico 2008/2009 Reti Applicazioni e Servizi

2.5. L'indirizzo IP identifica il computer di origine, il numero di porta invece identifica il processo di origine.

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

I file di dati. Unità didattica D1 1

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

Corso di Reti di Calcolatori T

appunti delle lezioni Architetture client/server: applicazioni client

Reti di Telecomunicazione Lezione 6

I canali di comunicazione

Gestione degli indirizzi

Transmission Control Protocol

Chat. Si ha un server in ascolto sulla porta Quando un client richiede la connessione, il server risponde con: Connessione accettata.

Esercitazione [6] Client/Server con Socket

Tecnologie Web L-A. Java e HTTP. Dario Bottazzi Tel , dario.bottazzi@unibo.it, SkypeID: dariobottazzi. Java e TCP/IP in a Nutshell

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

ProgettAzione tecnologie in movimento - V anno Unità 4 - Realizzare applicazioni per la comunicazione in rete

Il client deve stampare tutti gli eventuali errori che si possono verificare durante l esecuzione.

P2-11: BOOTP e DHCP (Capitolo 23)

SMS API. Documentazione Tecnica YouSMS HTTP API. YouSMS Evet Limited

Per scrivere una procedura che non deve restituire nessun valore e deve solo contenere le informazioni per le modalità delle porte e controlli

Networking. Mauro Migliardi Ph. D.

Protocolli applicativi: FTP

J+... J+3 J+2 J+1 K+1 K+2 K+3 K+...

(VHUFLWD]LRQLGLEDVHVXOOH6RFNHWLQ-DYD 6RFNHWGLWLSRVWUHDP

Inizializzazione degli Host. BOOTP e DHCP

Reti di Telecomunicazione Lezione 7

Firewall e Abilitazioni porte (Port Forwarding)

HTTP adaptation layer per generico protocollo di scambio dati

Parte II: Reti di calcolatori Lezione 10

Gestione degli indirizzi

I Socket. Laboratorio Software M. Grotto R. Farina

Controllo Winsock di Visual Basic

Manuale d'uso del Connection Manager

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

TECNOLOGIE E PROGETTAZIONE DI SISTEMI INFORMATICI E DI TELECOMUNICAZIONI

Applicazioni distribuite

Rasip, MIDlet per scambio di messaggi SIP

Chat. Connettersi a un server di chat. Modificare le impostazioni di chat. Ricevere impostazioni chat. Chat

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

Introduzione al Linguaggio C

Il protocollo TCP. Obiettivo. Procedura

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

Internet, così come ogni altra rete di calcolatori possiamo vederla suddivisa nei seguenti componenti:

Registri RMI. Massimo Merro Univ. Verona Programmazione di Rete 90 / 247

appunti delle lezioni Architetture client/server: applicazioni server

Sistemi Operativi (modulo di Informatica II)

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

Che cos'è un modulo? pulsanti di opzione caselle di controllo caselle di riepilogo

Reti di Calcolatori. Esercitazione su: Crittografia & Bet Server. A.A. 2010/2011 Reti di Calcolatori 1 (Es. 6)

Dal protocollo IP ai livelli superiori

Le Reti Informatiche

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

SUITE PROTOCOLLI TCP/IP ( I protocolli di Internet )

Architettura del. Sintesi dei livelli di rete. Livelli di trasporto e inferiori (Livelli 1-4)

Come funziona internet

Datagrammi. NOTA: MulticastSocket estende DatagramSocket

Apparecchiature di Rete

Reti di Telecomunicazione Lezione 8

2.1 Configurare il Firewall di Windows

Archiviare messaggi di posta elettronica senza avere un proprio mail server

Programmare con le Socket

FTP. Appunti a cura del prof. ing. Mario Catalano

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

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

Parte II: Reti di calcolatori Lezione 12

Client - Server. Client Web: il BROWSER

UnicastRemoteObject. Massimo Merro Programmazione di Rete 103 / 124

I/O su Socket TCP: read()

4 - Il livello di trasporto

Reti di Calcolatori. Il Livello delle Applicazioni

Un flusso (stream) è una astrazione che produce e/o consuma informazioni.

Internet e Tecnologia Web

Programmare con le Socket TCP

Guida alla configurazione dei Centralini IP

INTERNET PER INIZIARE PRIMA PARTE

Test di comunicazione tra due LOGO! 0BA7: Master - Master

Lezione 1 Introduzione

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

Corso di Sistemi di Elaborazione delle informazioni

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

Informatica per la comunicazione" - lezione 8 -

Reti di Calcolatori. una rete di calcolatori è costituita da due o più calcolatori autonomi che possono interagire tra di loro una rete permette:

Oreste Signore, Responsabile Ufficio Italiano W3C Area della Ricerca CNR - via Moruzzi, Pisa

SISTEMI OPERATIVI DISTRIBUITI

Do-Dots Protocollo di comunicazione

1. Manuale d uso per l utilizzo della WebMail PEC e del client di posta tradizionale

Transcript:

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 che la nostra applicazione voglia ricevere uno stream di dati da un particolare file memorizzato su un server remoto Si apre una connessione socket Si spedisce un comando GET seguito dal nome del file, come HTTP request Si legge lo stream ricevuto come HTTP response

Socket (2) Si chiama il metodo open() passando la stringa contenente lo schema del socket: socket identifier seguito dall URL del server remoto, completo di numero di porta Esempio: socket://www.mioserver.com:80 Si usa il metodo println() di PrintStream per spedire stringhe contenenti comandi HTTP per il server remoto Si usa il metodo read() di InputStream per ricavare la HTTP response spedita dal server remoto attraverso la connessione socket

Metodi utili getaddress(): ritorna l'indirizzo remoto a cui il socket si è connesso getlocaladdress(): ritorna l'indirizzo locale getlocalport(): ritorna la porta locale getport(): ritorna la porta remota getsocketoption(byte option): ritorna un'opzione del socket setsocketoption(byte option, int value): imposta un valore per il socket Le opzioni sono: DELAY, ritardo per la scrittura,keepalive, per mantere attiva la socket,linger, tempo di attesa prima di chiudere la connessione con dati di output pendenti, RCVBUF/SNDBUF, per impostare la dimensione del buffer in entrata/uscita

ServerSocketConnection Interfaccia che definisce come accettare connessioni in entrata Estende javax.microedition.io.streamconnectionnotifier, che ascolta per connessioni incoming Si chiama il metodo open() passando una stringa tipo "socket://:7" che definisce un server socket sulla porta 7 (porta echo) Se si omette il numero di porta, il dispositivo ne seleziona automaticamente una disponibile Se la stringa non è valida, viene lanciata IllegalArgumentException. Quando l applicazione necessita di connettersi al socket (per es. per gestire una richiesta entrante), invoca il metodo della server socket connection acceptandopen() che ritorna un istanza di SocketConnection La MIDlet deve essere attiva; conviene costruire tipo SMS MIDlet, basata su Wireless Messaging API (JSR 120) che alla ricezione di un sms lancia la ServerSocket MIDlet

Esempio // Crea il server socket che ascolta sulla porta 80 ServerSocketConnection scn=(serversocketconnection) Connector.open("socket://:80"); // Attende una connessione boolean attendi = true; while (attendi) { SocketConnection sc = (SocketConnection)scn.acceptAndOpen(); // Gestisce la connessione sc } Esempio: Socket Client, Socket Server

Connessione datagram Si basa sull'invio in rete di "messaggi" (datagram), senza garanzie sull'integrità dei dati giunti al destinatario, sull'istante di arrivo sulla consegna dei dati stessi. CONNECTIONLESS: non esiste tra mittente e destinatario del messaggio un percorso dedicato (neppure logico) i dati inviati contengono le informazioni necessarie per individuare il destinatario (indirizzo IP e porta) Adatta a reti di comunicazione wireless a commutazione di pacchetto, mentre può non essere supportata da reti a commutazione di circuito che si basano su stream

Connessione datagram (2) L'utilizzo delle connessioni di tipo datagram impone, solitamente, questi sei passi: 1.il mittente stabilisce una connessione datagram 2.il mittente costruisce un oggetto datagram da inviare contenente indirizzo e porta del destinatario e naturalmente le informazioni da inviare 3.invio del datagram costruito attraverso la connessione aperta 4.costruzione di un oggetto datagram (vuoto) per la ricezione di eventuali dati in risposta 5.attesa di una eventuale risposta. I dati ricevuti vengono scritti nel datagram vuoto pre-allocato 6.chiusura della connessione datagram aperta

Esempio UdpClient.java, UdpServer.java

Esercizio Scrivere 2 MIDlets che realizzano una connessione socket client-server Il server implementa un record store di indirizzi (tipo una rubrica) Il client si connette al server per avere informazioni riguardo ad uno specificato record (per esempio specificando il nome)

Esercizio Scrivere una MIDlet che implementa un server UDP che interagisce col client UDP appena visto, per realizzare una chat a 3 o più utenti. Ogni messaggio dei client è rivolto al server, mentre i messaggi del server devono arrivare a tutti i client. Inoltre si faccia uso di TextBox o TextField al posto di StringItem, in modo da tenere traccia dei messaggi ricevuti. File da usare (modificare SOLO UdpServer): UdpClient.java, UdpServer.java, UdpSender.java