Sistemi di elaborazione dell’informazione Modulo 4 -Tecniche di programmazione distribuita Unità didattica 1 -Socket library Ernesto Damiani Lezione 1 – Interfaccia di programmazione di TCP/IP
Pila TCP/IP Livello Applicazione –Applicazioni standard HTTP FTP Telnet –Applicazioni utente Livello Trasporto –TCP –UDP TCP/IP: interfaccia di programmazione Libreria di funzioni per C e Java: ▪ SOCKET LIBRARY
Richiami di TCP: le porte I protocolli TCP e UDP usano le porte per mappare i dati in ingresso con un particolare processo attivo su un computer. SERVER PORTAPORTA CLIENT TCP
Sono rappresentate da valori interi positivi (16 bit). Alcune porte sono state riservate per il supporto di servizi well-known: –ftp: 21/tcp; –telnet: 23/tcp; –smtp: 25/tcp; –login: 513/tcp. I servizi e i processi a livello utente generalmente usano un numero di porta >=1024. Well–known port
Socket (1) I socket forniscono un’interfaccia per la programmazione dell’accesso alla rete al livello di Trasporto. Un socket è un punto finale di un collegamento comunicativo bidirezionale tra due programmi in esecuzione sulla rete. Un socket è legato a un numero di porta così che il livello TCP può identificare l’applicazione a cui i dati devono essere inviati. –Usando i socket la comunicazione in rete è molto simile all’ I/O su file. –La gestione dei socket, infatti, viene trattata come la gestione di file. –I comandi di lettura e scrittura sui flussi usati per l’I/O su file sono applicabili anche all’I/O su socket.
Socket (2) FINE La comunicazione basata su socket è indipendente dal linguaggio di programmazione. Un programma socket scritto nel linguaggio Java, quindi, può comunicare via rete anche con un programma non Java, purché usi i socket.