Sistemi di elaborazione dell’informazione Modulo 4 - Tecniche di programmazione distribuita Unità didattica 1 -Socket library Ernesto Damiani Lezione 4.

Slides:



Advertisements
Presentazioni simili
File Linguaggio C.
Advertisements

Java Stream e File.
Java Stream e File. La classe File Per operare con lintero file java mette a disposizione la classe File Per utilizzare la classe File è necessario importare.
Programmazione con socket
Reti di Calcolatori L’interfaccia socket
1 Directory Il formato delle directory varia nei vari FS utilizzati in ambito Unix Quando una directory viene aperta viene restituito un puntatore a un.
1 System Call per Comunicazione tra Processi Pipe.
Mappare file in memoria
SC che operano su file (1)
Programmazione socket
Come programmare servizi di rete?
Calcolatori Elettronici
Prof.ssa Chiara Petrioli -- Fondamenti di programmazione, a.a. 2009/2010 Corso di Fondamenti di programmazione a.a. 2009/2010 Prof.ssa Chiara Petrioli.
Programmazione di rete:
Il modello cliente/servente per l’implementazione di applicazioni
TCP Transmission Control Protocol. Programmazione II: Programmazione su Reti -- Prof. G. Persiano 2 TCP TCP fornisce un servizio di connessione –orientato.
I File.
ICMP - PING - TRACEROUTE
Reti di Calcolatori1 Il modello Client/Server La comunicazione Se sintetizziamo uno scenario completo possiamo identificare diverse interfacce.
Modulo 2 – U.D. 1 – Lez. 2 Ernesto Damiani – Sistemi di elaborazione dell'informazione.
Sistemi di elaborazione dellinformazione Modulo 2 -Protocolli di rete TCP/IP Unità didattica 4 - Gestione degli indirizzi Ernesto Damiani Lezione 4 – NAT.
Prof.ssa Chiara Petrioli -- Fondamenti di programmazione, a.a. 2009/2010 Corso di Fondamenti di programmazione a.a. 2009/2010 Prof.ssa Chiara Petrioli.
C. Gaibisso Programmazione di Calcolatori Lezione XVI Allocazione dinamica della memoria Programmazione di Calcolatori: allocazione dinamica della memoria.
Modulo 2 - U.D. 3 - L.4 Ernesto Damiani - Sistemi di eleborazione dell'informazione.
Introduzione al controllo derrore. Introduzione Quando dei dati vengono scambiati tra due host, può accadere che il segnale venga alterato. Il controllo.
Modulo 3 – U.D. 3 – Lez. 1 Ernesto Damiani - Sistemi di elaborazione dell'informazione.
Sistemi di elaborazione dellinformazione Ernesto Damiani Lezione 5 – SONET Modulo 1 -Tecniche di comunicazione digitale Unità didattica 1 -Richiami sulla.
Modulo n – U.D. n – Lez. n Nome Cognome – titolo corso.
Sistemi di elaborazione dellinformazione Modulo 3 -Protocolli applicativi Unità didattica 1 - Domain Name System Ernesto Damiani Lezione 4 – Risoluzione.
Modulo 4 – U.D. 1 – Lez. 6 Ernesto Damiani - Sistemi di elaborazione dell'informazione.
Cryptophone 2 Matteo Ferrari. Descrizione del Problema e Soluzioni adottate. Realizzare un’interfaccia grafica in C# per dispositivi Mobile di un progetto.
Come comunicano i processi ?
Programmazione Web PHP e MySQL 1. 2Programmazione Web - PHP e MySQL Esempio: un blog.
Politecnico di Milano © Domenico Barretta Processi concorrenti in Unix Docente Domenico Barretta Politecnico di Milano
1 SC che operano su processi Getpid, fork, exec, wait, waitpid, exit, dup, dup2.
Modulo n – U.D. n – Lez. n Nome Cognome – titolo corso.
Sistemi di elaborazione dell’informazione Modulo 2 -Protocolli di rete TCP/IP Unità didattica 4 -Gestione degli indirizzi Ernesto Damiani Lezione 1 – Assegnazione.
1 Chiamate di sistema Introduzione Errori : perror() Chiamate che lavorano su file.
Sistemi di elaborazione dell’informazione Modulo 2 -Protocolli di rete TCP/IP Unità didattica 4 -Gestione degli indirizzi Ernesto Damiani Lezione 2 – DHCP.
Sistemi di elaborazione dell’informazione Modulo 3 - Protocolli applicativi Unità didattica 1 - Domain Name System Ernesto Damiani Lezione 2 – Caratteristiche.
Sistemi di elaborazione dell’informazione Modulo 3 -Protocolli applicativi Unità didattica 4 -Protocolli del Web Ernesto Damiani Lezione 1 – World Wide.
Ingegneria del software Modulo 1 - Introduzione al processo software Unità didattica 3 - Modelli di fase d’analisi Ernesto Damiani Università degli Studi.
Sistemi di elaborazione dell’informazione Modulo 3 - Protocolli applicativi Unità didattica 2 - Telnet, FTP e altri Ernesto Damiani Lezione 2 – Da FTP.
Sistemi di elaborazione dell’informazione Modulo 4 -Tecniche di programmazione distribuita Unità didattica 1 - Socket library Ernesto Damiani Lezione 3.
1 Windows Socket Programming Corso di Sistemi di Elaborazione delle Informazioni a.a 2006/2007 Autori: Alberto Colombo Fulvio Frati.
1 Cenni di gestione della memoria Unix-Linux. 2 Organizzazione della Memoria Spazio logico dei processi A e B e memoria fisica Condivisione dell’area.
Sistemi di elaborazione dell’informazione Modulo 3 -Protocolli applicativi Unità didattica 1 -Domain Name System Ernesto Damiani Lezione 1 – Nomi e indirizzi.
Sistemi di elaborazione dell’informazione Modulo 2 -Protocolli di rete TCP/IP Unità didattica 6 -User Datagram Protocol Ernesto Damiani Lezione 1 – UDP.
Lez. 41 Alma Mater Studiorum - Universita' di Bologna Sede di Cesena Reti di Calcolatori L’interfaccia socket Vedi: D. Comer, Internetworking con TCP/IP.
Sistemi di elaborazione dell’informazione Modulo 4 -Tecniche di programmazione distribuita Unità didattica 1 -Socket library Ernesto Damiani Lezione 1.
Sistemi di elaborazione dell’informazione Modulo 4 - Tecniche di programmazione distribuita Unità didattica 1 - Socket library Ernesto Damiani Lezione.
Sistemi di elaborazione dell’informazione Modulo 4 -Tecniche di programmazione distribuita Unità didattica 1 - Socket library Ernesto Damiani Lezione 8.
Sistemi di elaborazione dell’informazione Modulo 4 - Tecniche di programmazione distribuita Unità didattica 1 -Socket library Ernesto Damiani Lezione 2.
Ingegneria del software Modulo 1 - Introduzione al processo software Unità didattica 5 -Test e verifica Ernesto Damiani Università degli Studi di Milano.
Sistemi di elaborazione dell’informazione Modulo 2 -Protocolli di rete TCP/IP Unità didattica 7 -Instradamento dinamico Ernesto Damiani Lezione 4 – OSPF.
Sistemi di elaborazione dell’informazione Modulo 3 -Protocolli applicativi Unità didattica 2 -Telnet, FTP e altri Ernesto Damiani Lezione 4 – Napster e.
Ernesto Damiani Lezione 5 – Gnutella Sistemi di elaborazione dell’informazione Modulo 3 -Protocolli applicativi Unità didattica 2 - Telnet, FTP e altri.
Sistemi di elaborazione dell’informazione Modulo 4 - Tecniche di programmazione distribuita Unità didattica 1 -Socket library Ernesto Damiani Lezione 5.
Reti di calcolatori Modulo 1 -Tecniche di comunicazione digitale Unità didattica 4 – Interconnessione tra reti locali Ernesto Damiani Università di Milano.
Controllo di flusso TCP. Elementi base del flusso TCP (1) Comunicazione punto-punto Un mittente, un destinatario. Flusso di byte affidabile Flusso suddiviso.
Sistemi di elaborazione dell’informazione Modulo 3 - Protocolli applicativi Unità didattica 5 -Amministrazione remota Ernesto Damiani Lezione 2 – SNMP.
Sistemi di elaborazione dell’informazione Modulo 4 -Tecniche di programmazione distribuita Unità didattica 1 - Socket library Ernesto Damiani Lezione 9.
Sistemi di elaborazione dell’informazione Modulo 2 -Protocolli di rete TCP/IP Unità didattica 6 -User Datagram Protocol Ernesto Damiani Lezione 2 – UDP.
Corso di Reti di Calcolatori Interfaccia socket. [2] Introduzione La programmazione di rete è ciò che permette a due o più computer collegati da una rete.
Socket programming in Java La realizzazione di un server in Java consente di scrivere una sola versione eseguibile su diverse piattaforme. Il linguaggio.
Raccogliere informazioni ALCUNE DOMANDE FONDAMENTALI È stato modificato qualche componente HW o SW? Il sintomo si presenta regolarmente o ad intermittenza?
Socket programming in Java La realizzazione di un server in Java consente di scrivere una sola versione eseguibile su diverse piattaforme. Il linguaggio.
Come comunicano i processi ?
Il Livello di Trasporto
Transcript della presentazione:

Sistemi di elaborazione dell’informazione Modulo 4 - Tecniche di programmazione distribuita Unità didattica 1 -Socket library Ernesto Damiani Lezione 4 – Funzioni di comunicazione via socket

Chiamata della funzione connect int status = connect(sock, &name, &namelen); –status: 0 se connect ha successo, altrimenti -1 ; –sock: intero, il socket che deve essere usato nella connessione; –name: struct sockaddr, indirizzo del partecipante passivo; –namelen:intero, sizeof(name). “connect” è bloccante.

Invio e ricezione di dati (1) Con una connessione TCP (SOCK_STREAM) int count = send(socket, &buf, len, flags); – count: numero di byte trasmessi (-1 in caso di errore); – buf: char [], buffer che devono essere trasmessi; – len: intero, lunghezza di buffer (in byte) da trasmettere; – flags: intero, opzioni speciali, di solito solo 0.

Invio e ricezione di dati (2) int count = recv(socket, &buf, len, flags);  count: numero di byte ricevuti (-1 in caso di errore);  buf: void [], memorizza i byte ricevuti;  len: numero di byte ricevuti;  flags: intero, opzioni speciali, di solito solo 0. Le chiamate sono bloccanti: la chiamata ritorna solo dopo che i dati sono stati inviati (al socket buffer) o ricevuti.

Invio e ricezione di dati (3) Senza connessione, via UDP (SOCK_DGRAM) int count = sendto(sock, &buf, len, flags, &addr, addrlen); – count, sock, buf, len, flags: uguale all’invio; – addr: struct sockaddr, indirizzo della destinazione; – addrlen: sizeof(addr).

Invio e ricezione di dati (4) int count = recvfrom (sock, &buf, len, flags, &name, namelen); – count, sock, buf, len, flags: uguale alla ricezione; – name: struct sockaddr, indirizzo della sorgente; – namelen: sizeof(name): parametro valore/risultato. Le chiamate sono bloccanti: la chiamata ritorna solo dopo che i dati sono stati inviati (dal buffer del socket) o ricevuti.

Funzione close Una volta terminato l’uso di un socket, lo si dovrebbe chiudere. Status = close(s) –status: 0 se l’operazione ha avuto successo, -1 in caso di errore; –s: il descrittore di file (il socket che viene chiuso). La chiusura di un socket: –chiude la connessione TCP (nel caso SOCK_STREAM); –libera la porta usata dal socket. FINE