Programmazione socket. Queste slide sono distribuite con licenza Creative Commons Attribuzione-Non commerciale-condividi allo stesso modo 2.

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Programmazione socket. Queste slide sono distribuite con licenza Creative Commons Attribuzione-Non commerciale-condividi allo stesso modo 2."

Transcript

1 Programmazione socket Queste slide sono distribuite con licenza Creative Commons Attribuzione-Non commerciale-condividi allo stesso modo 2.5 Italia

2 Applicazioni di rete Realizzare un'applicazione di rete significa implementare un processo comunicante e distribuito. In genere si tratta di software in esecuzione su un host in grado di comunicare con altri host sulla rete per mezzo di un sistema di comunicazione a messaggi e secondo un determinato modello di cooperazione (il più diffuso è il modello client/server, in crescita il modello peer-to-peer). 2

3 Modello client/server /1 Prevede il dialogo tra applicativi software in esecuzione su due host delle rete. Client Si tratta dell'applicazione che richiede un servizio, iniziando così la comunicazione Server Si tratta dell'applicazione che eroga il servizio; in continua attesa di essere contattato da un client appropriato Un'applicazione è in grado di identificare un'altra applicazione in rete tramite: l'indirizzo IP dell'host su cui risiede l'applicazione con cui intraprendere la comunicazione il numero della porta che permette all'applicativo server di individuare per quale applicativo, tra quelli operativi e in ascolto, è arrivata la richiesta di un servizio 3

4 Modello client/server /2 Generalmente i server sono in grado di rispondere a richieste da parte di client anche in modalità multitask/multithread; questo significa che più client possono nello stesso momento richiedere lo stesso servizio a un'applicazione server che deve quindi essere in grado di identificare univocamente il client al quale inviare la risposta. Ogni connessione viene quindi identificata in modo univoco tramite l'utilizzo dei seguenti 4 dati: Sorgente: Indirizzo IP del server che eroga il servizio Indirizzo di porta del server Destinazione: Indirizzo IP del client che richiede il servizio Indirizzo di porta del client 4

5 Programmazione socket /1 Tipicamente gli applicativi client/server utilizzano TCP (comunicazione affidabile orientata alla connessione) o UDP (datagram non affidabile) come protocollo di trasporto. Per poter implementare la comunicazione si avvalgono delle cosiddette API (Application Programming Interface) messe a disposizione dal sistema operativo ospitante, denominati socket. I socket sono quindi un'interfaccia messa a disposizione del sistema operativo che permette l'invio e la ricezione di messaggi da e per un altro host (in alcuni casi l'host sorgente e destinazione possono coincidere). L'approccio all'utilizzo dei socket, implementato in tutti i linguaggi di programmazione, è molto simile a quello utilizzato per la gestione dei file: apertura del canale lettura/scrittura dei messaggi chiusura del canale 5

6 Programmazione socket /2 Comunicazione orientata alla connessione (TCP) socket () bind () esegue bind su una porta nota listen () TCP SERVER accept () in attesa di connessione da parte di un client read () elaborazione dati connessione instaurata (3-way handshake) invio richiesta dati socket () connect () write () TCP CLIENT write () invio risposta read () read () close () comunicazione chiusura comunicazione close () 6

7 Programmazione socket /3 Funzione socket: int socket ( int domain, int type, int protocol ); restituisce un intero da gestire come un descrittore di file; restituisce -1 in caso di errore nella creazione del socket. int domain identifica la famiglia del protocollo da utilizzare; in genere si utilizza AF_INET (comunicazioni Ipv4), AP_INET6 (comunicazioni Ipv6) o AF_UNIX (comunicazioni UNIX sullo stesso host) int type definisce il tipo di comunicazione; in genere si utilizza SOCK_STREAM (per comunicazioni orientate alla connessione), SOCK_DGRAM (per comunicazioni senza connessione) o SOCK_RAW (per utilizzo diretto del protocollo IP) int protocol specifica il protocollo da utilizzare; di solito si lascia il valore a 0 perché il protocollo è desunto dai precedenti parametri (AF_INET + SOCK_STREAM = TCP; AF_INET + SOCK_DGRAM = UDP) 7

8 Programmazione socket /4 Funzione bind (utilizzata dal server): int bind ( int sockfd, const struct sockaddr *my_addr, socklen_t addrlen ); l'applicativo comunica al sistema operativo le modalità di attesa delle connessioni da parte dei client. int sockfd è il descrittore del socket ottenuto dalla funzione socket () 8

9 Programmazione socket /5 Funzione bind (utilizzata dal server): int bind ( int sockfd, const struct sockaddr *my_addr, socklen_t addrlen ); struct sockaddr *my_addr struct sockaddr { uint8_t sa_len; sa_family_t sa_family; /* address family: AF_xxx value */ char sa_data[14]; /* protocol-specific address */ }; struct sockaddr_in { uint8_t sin_len; /* length of structure (16) */ sa_family_t sin_family; /* AF_INET */ in_port_t sin_port; /* 16-bit TCP or UDP port number */ /* network byte ordered */ struct in_addr sin_addr; /* 32-bit IPv4 address */ /* network byte ordered */ char sin_zero[8]; /* unused */ }; struct in_addr { in_addr_t s_addr; /* 32-bit IPv4 address */ /* network byte ordered */ }; 9

10 Programmazione socket /6 Funzione bind (utilizzata dal server): int bind ( int sockfd, const struct sockaddr *my_addr, socklen_t addrlen ); socklen_t addrlen è la dimensione in byte delle struttura passata 10

11 Programmazione socket /7 Funzione listen (utilizzata dal server): int listen ( int sockfd, int backlog ); mette in stato di ascolto il server. int sockfd è il descrittore del socket ottenuto dalla funzione socket () int backlog specifica quante richieste possono essere accettate dal server e messe in coda 11

12 Programmazione socket /8 Funzione accept (utilizzata dal server): int accept ( int sockfd, struct sockaddr *addr, socklen_t *addrlen); viene chiesto dal server di poter accedere alla prima richiesta in coda; se la coda è vuota il processo viene messo in stato sleep (attesa) int sockfd già visto struct sockaddr *addr già visto socklen_t *addrlen già visto 12

13 Programmazione socket /9 Funzione connect (utilizzata dal client): int connect ( int sockfd, const struct sockaddr *serv_addr, socklen_t addrlen ); questa funzione viene utilizzata dal client per stabilire una connessione con un server remoto; blocca l'esecuzione dell'applicativo fino a che non si riceve comunicazione dal sistema operativo: 0 in caso di successo, -1 in caso di errore. int sockfd già visto struct sockaddr *serv_addr già visto socklen_t addrlen già visto 13

14 Programmazione socket /10 Funzioni read e write (utilizzate sia dal client che dal server): int read (int sockfd, void *buf, size_t count); int write (int sockfd, const void *buf, size_t count); queste funzioni vengono utilizzate per leggere e scrivere byte sul socket; viene ritornato il numero di byte effettivamente letti/scritti oppure -1 in caso di errore. int sockfd già visto buf Buffer dati utilizzato per scrivere/leggere i dati size_t count numero di byte da leggere/scrivere 14

15 Programmazione socket /11 Funzione close (utilizzata sia dal client che dal server): int close ( int sockfd ); con close si chiude una connessione; ritorna 0 in caso di successo, -1 in caso di errore. int sockfd già visto 15

16 Esempio applicazione client/server /1 File-server & File-client Si vuole realizzare un applicativo server che, utilizzando il protocollo TCP, si metta in attesa di connessioni sulla porta Si vuole realizzare un applicativo client che, utilizzando il protocollo TCP, instauri una connessione con un server remoto in attesa sulla porta Lo scopo del server è quello di ricevere un messaggio di richiesta contenente un nome di file, leggere il file richiesto e stamparlo sul socket. Lo scopo del client è di comunicare al server il nome di un file che intende ricevere; una volta ricevuto lo stampa sullo STDOUT. Fonte esercizio: Andrew S. Tanenbaum, Computer Networks 16

17 Esempio applicazione client/server /2 (server) /* File server - Server * * Based on "Computer Networks" - Andrew S. Tanunbaum * * * Once the server has been compiled and started, clients anywhere on * the Internet can send commands (file names) to the server. * The server responds by opening and returning the entire file requested. * * Compile it under Linux with: "gcc -o server file-server server.c" */ #include <stdio.h> #include <memory.h> #include <stdlib.h> #include <sys/types.h> #include <sys/fcntl.h> #include <sys/socket.h> #include <netdb.h> #define SERVER_PORT /* arbitrary, but client and server must agree */ #define BUF_SIZE 4096 /* block transfer size */ #define QUEUE_SIZE 10 17

18 Esempio applicazione client/server /3 (server) int main ( int argc, char *argv[] ) { int s, b, l, fd, sa, bytes, on = 1; char buf[buf_size]; /* buffer for outgoing file */ struct sockaddr_in channel; /* hold's IP address */ /* Build address structure to bind to socket. */ memset ( &channel, 0, sizeof ( channel ) ); /* zero channel */ channel.sin_family = AF_INET; channel.sin_addr.s_addr = htonl ( INADDR_ANY ); channel.sin_port = htons ( SERVER_PORT ); /* Passive open. Wait for connection. */ s = socket ( AF_INET, SOCK_STREAM, IPPROTO_TCP ); /* create socket */ if ( s < 0 ) fatal ( "socket failed" ); b = bind ( s, (struct sockaddr *) &channel, sizeof ( channel ) ); if ( b < 0 ) fatal ( "bind failed" ); l = listen ( s, QUEUE_SIZE ); /* specify queue size */ if ( l < 0 ) fatal ( "listen failed" ); 18

19 Esempio applicazione client/server /4 (server) /* Socket is now set up and bound. Wait for connection and process it. */ while ( 1 ) { sa = accept ( s, 0, 0 ); /* block for connection request */ if ( sa < 0 ) fatal ( "accept failed" ); read ( sa, buf, BUF_SIZE ); /* read file name from socket */ /* Get and return the file. */ fd = open ( buf, O_RDONLY ); /* open the file to be sent back */ if ( fd < 0 ) fatal ( "open failed" ); } } while ( 1 ) { bytes = read ( fd, buf, BUF_SIZE ); /* read from file */ if ( bytes <= 0 ) break; /* check for end of file */ write ( sa, buf, bytes ); /* write bytes to socket */ } close ( fd ); /* close file */ close ( sa ); /* close connection */ 19

20 Esempio applicazione client/server /5 (server) fatal ( char *string ) { printf ( "%s\n", string ); exit ( 1 ); } 20

21 Esempio applicazione client/server /6 (client) /* File server - Client * * Based on "Computer Networks" - Andrew S. Tanunbaum * * * Once the server has been compiled and started, clients anywhere on * the Internet can send commands (file names) to the server. * The server responds by opening and returning the entire file requested. * * Compile it under Linux with: "gcc -o client file-server client.c" */ #include <stdio.h> #include <memory.h> #include <stdlib.h> #include <sys/socket.h> #include <netinet/in.h> #include <netdb.h> #define SERVER_PORT /* arbitrary, but client and server must agree */ #define BUF_SIZE 4096 /* block transfer size */ 21

22 Esempio applicazione client/server /7 (client) int main ( int argc, char **argv ) { int c, s, bytes; char buf[buf_size]; /* buffer for incoming file */ struct hostent *h; /* info about server */ struct sockaddr_in channel; /* holds IP address */ if ( argc!= 3 ) fatal ( "Usage: client server-name file-name" ); h = gethostbyname ( argv[1] ); /* look up host's IP address */ if (! h ) fatal ( "gethostbyname failed" ); s = socket ( AF_INET, SOCK_STREAM, IPPROTO_TCP ); if (s < 0) fatal("socket"); memset ( &channel, 0, sizeof ( channel ) ); channel.sin_family = AF_INET; memcpy ( &channel.sin_addr.s_addr, h->h_addr, h->h_length ); channel.sin_port = htons ( SERVER_PORT ); c = connect ( s, ( struct sockaddr * ) &channel, sizeof ( channel ) ); if ( c < 0 ) fatal ( "connect failed" ); 22

23 Esempio applicazione client/server /8 (client) /* Connection is now established. Send file name including 0 byte at end. */ write ( s, argv[2], strlen ( argv[2] ) + 1 ); } /* Go get the file and write it to standard output. */ while ( 1 ) { bytes = read ( s, buf, BUF_SIZE ); /* read from socket */ if ( bytes <= 0 ) exit ( 0 ); /* check for end of file */ write ( 1, buf, bytes ); /* write to standard output */ } fatal ( char *string ) { printf ( "%s\n", string ); exit ( 1 ); } 23

24 Esempio applicazione client/server /9 (esecuzione) localhost /etc/issue Welcome to opensuse 10.2 (i586) - Kernel \r (\l). tode@linux:~/client> tode@linux:~/client> netstat -nat Active Internet connections (servers and established) Proto Recv-Q Send-Q Local Address Foreign Address State tcp : :* LISTEN tcp : :* LISTEN tcp : :* LISTEN tcp : :* LISTEN tcp : :* LISTEN tcp : :* LISTEN tcp : :* LISTEN tcp 0 0 :::22 :::* LISTEN tcp 0 0 :::631 :::* LISTEN tcp 0 0 ::1:25 :::* LISTEN 24

25 Compito (per i laboratori...) Quali altre applicazioni che conosci funzionano nel modo descritto dai programmi precedenti? In vista dei laboratori pensare alla realizzazione di un applicativo client in grado di reperire un feed RSS e di stamparlo su STDOUT 25

26 Programmazione socket /12 Comunicazione senza connessione (UDP) socket () bind () esegue bind su una porta nota UDP SERVER recvfrom () in attesa di dati spediti da un client elaborazione dati sendto () invio dati invio risposta socket () sendto () recvfrom () UDP CLIENT close () 26

27 Programmazione socket /13 Funzioni sendto e recvfrom (utilizzate sia dal client che dal server): int sendto ( int sockfd, const void *buf, size_t len, int flags, const struct sockaddr *to, socklen_t tolen ); tramite questa funzione si inviano byte a un host remoto; ritorna il numero di byte inviati oppure -1 in caso di errore locale (non c'è infatti verifica dell'effettiva ricezione dei dati da parte dell'host remoto). int recvfrom ( int sockfd, void *buf, size_t len, int flags, struct sockaddr *from, socklen_t *fromlen ); riceve dati da un host remoto e ne memorizza len nel buffer buf: in caso arrivi un pacchetto di dimensioni maggiori di len i dati in più sono persi; dalla struttura from si possono ricavare indirizzo IP e porta dell'host mittente. 27

Reti (già Reti di Calcolatori )

Reti (già Reti di Calcolatori ) Reti (già Reti di Calcolatori ) Cenni di Socket Programming Renato Lo Cigno http://disi.unitn.it/locigno/index.php/teaching-duties/computer-networks Socket API Programmazione dei socket Obiettivo:imparare

Dettagli

Socket. Nei sistemi operativi moderni i servizi disponibili in rete si basano principalmente sul modello client/server.

Socket. Nei sistemi operativi moderni i servizi disponibili in rete si basano principalmente sul modello client/server. Socket Nei sistemi operativi moderni i servizi disponibili in rete si basano principalmente sul modello client/server. Tale architettura consente ai sistemi di condividere risorse e cooperare per il raggiungimento

Dettagli

Socket. Nei sistemi operativi moderni i servizi disponibili in rete si basano principalmente sul modello client/server.

Socket. Nei sistemi operativi moderni i servizi disponibili in rete si basano principalmente sul modello client/server. Socket Nei sistemi operativi moderni i servizi disponibili in rete si basano principalmente sul modello client/server. Tale architettura consente ai sistemi di condividere risorse e cooperare per il raggiungimento

Dettagli

Socket per TCP: Fondamenti

Socket per TCP: Fondamenti Socket per TCP: Fondamenti Network Applications Molte applicazioni di rete sono formate da due programmi distinti (che lavorano su due diversi host) uno detto server ed uno detto client. Il server si mette

Dettagli

COMUNICAZIONE TRA PROCESSI REMOTI IN UNIX

COMUNICAZIONE TRA PROCESSI REMOTI IN UNIX A cura del prof. Gino Tombolini 1 COMUNICAZIONE TRA PROCESSI REMOTI IN UNIX Il sistema UNIX TCP/IP fornisce un meccanismo di comunicazione tra processi residenti su nodi distinti di una rete, compatibili

Dettagli

Una semplice applicazione client/server 1

Una semplice applicazione client/server 1 Una semplice applicazione client/server 1 Il nostro obiettivo In questa parte del corso implementeremo un applicazione client/server che usa i socket Internet disponibili nei sistemi Unix/Linux. Nello

Dettagli

Interazione (TCP) Client-Server con le socket

Interazione (TCP) Client-Server con le socket Interazione (TCP) Client-Server con le socket D. Gendarmi Interazione TCP Client/Server Server 2. Assegnare un local address alla socket 3. Settare la socket all ascolto 4. Iterativamente: a. Accettare

Dettagli

Esercitazione [6] Client/Server con Socket

Esercitazione [6] Client/Server con Socket Esercitazione [6] Client/Server con Socket Leonardo Aniello - aniello@dis.uniroma1.it Daniele Cono D'Elia - delia@dis.uniroma1.it Sistemi di Calcolo - Secondo modulo (SC2) Programmazione dei Sistemi di

Dettagli

Programmazione di applicazioni di rete

Programmazione di applicazioni di rete Programmazione di applicazioni di rete Valeria Cardellini Università di Roma Tor Vergata Applicazioni di rete Applicazioni di rete - forniscono i servizi di alto livello utilizzati dagli utenti - determinano

Dettagli

IPC Inter Process Communication

IPC Inter Process Communication Il protocollo TCP controlla che la trasmissione tra due end points avvenga correttamente. Non stabilisce alcun criterio su chi deve iniziare la comunicazione. Questo compito è svolto dalle applicazioni

Dettagli

Paradigma client-server

Paradigma client-server Interazione Client Server (socket) Vittorio Maniezzo Università di Bologna Vittorio Maniezzo Università di Bologna 15 CliSer - 1/31 Paradigma client-server Le applicazioni utente devono interagire con

Dettagli

Cenni di programmazione distribuita in C++ Mauro Piccolo piccolo@di.unito.it

Cenni di programmazione distribuita in C++ Mauro Piccolo piccolo@di.unito.it Cenni di programmazione distribuita in C++ Mauro Piccolo piccolo@di.unito.it Socket Nei sistemi operativi moderni i servizi disponibili in rete si basano principalmente sul modello client/server. Tale

Dettagli

Creare una applicazione Winsock di base

Creare una applicazione Winsock di base Creare una applicazione Winsock di base Usiamo le API Winsock incluse in Creare un progetto per una Socket Windows (in Dev C++) Selezionare la file New Projects Selezionare Empty Project Salvare

Dettagli

Sviluppo di Applicazioni su Rete. Introduzione all API socket di Berkeley. Interazione tra Processi. Modello Client-Server

Sviluppo di Applicazioni su Rete. Introduzione all API socket di Berkeley. Interazione tra Processi. Modello Client-Server a.a. 2003/04 Introduzione all API socket di Berkeley Prof. Vincenzo Auletta auletta@dia.unisa.it http://www.dia.unisa.it/professori/auletta/ Università degli studi di Salerno Laurea e Diploma in Informatica

Dettagli

Reti di Calcolatori - Laboratorio. Lezione 5. Gennaro Oliva

Reti di Calcolatori - Laboratorio. Lezione 5. Gennaro Oliva Reti di Calcolatori - Laboratorio Lezione 5 Gennaro Oliva Server basato su I/O Multiplex Per realizzare un server è possibile utilizzare l'i/o Multiplex Un unico processo iterativo gestisce il socket che

Dettagli

I Socket. Laboratorio Software 2008-2009 M. Grotto R. Farina

I Socket. Laboratorio Software 2008-2009 M. Grotto R. Farina M. Grotto R. Farina Sommario 1. Applicazioni Distribuite 2. I Socket Introduzione Interfacce e protocolli Descrizione Stile di comunicazione Namespace e protocollo Include e system call Creazione e chiusura

Dettagli

Una socket è un punto estremo di un canale di comunicazione accessibile mediante un file descriptor. Alcuni tipi predefiniti di socket

Una socket è un punto estremo di un canale di comunicazione accessibile mediante un file descriptor. Alcuni tipi predefiniti di socket Una socket è un punto estremo di un canale di comunicazione accessibile mediante un file descriptor Le socket costituiscono un fondamentale strumento di comunicazione, basato sullo scambio di messaggi,

Dettagli

Laboratorio di Sistemi Operativi 29-01-2009. Cognome Nome Mat.

Laboratorio di Sistemi Operativi 29-01-2009. Cognome Nome Mat. Il compito è costituito da domande chiuse, domande aperte ed esercizi. Non è consentito l uso di libri, manuali, appunti., etc. Tempo massimo 2 ore. Domande chiuse: ogni domanda corrisponde ad un punteggio

Dettagli

Guida all' uso dei sockets nella programmazione in C

Guida all' uso dei sockets nella programmazione in C Guida all' uso dei sockets nella programmazione in C ( pseudo-traduzione personalizzata di "Beej's Guide to Network Programming" ) (Prima parte) INTRODUZIONE Finalmente ho trovato una guida chiara e semplice

Dettagli

DATAGRAM SOCKET. Angelastro Sergio Diomede Antonio Viterbo Tommaso

DATAGRAM SOCKET. Angelastro Sergio Diomede Antonio Viterbo Tommaso DATAGRAM SOCKET Angelastro Sergio Diomede Antonio Viterbo Tommaso Definizione supporta i datagram privo di connessione messaggi inaffidabili di una lunghezza massima prefissata il protocollo UDP supporta

Dettagli

Socket TCP. prima parte

Socket TCP. prima parte Socket TCP prima parte Cosa cambia: socket int fd = socket(pf_inet, SOCK_STREAM, 0); if (fd

Dettagli

INTERNET DOMAIN SOCKETS (Cap.59)

INTERNET DOMAIN SOCKETS (Cap.59) INTERNET DOMAIN SOCKETS (Cap.59) Internet Domain Stream Socket TCP Internet Domain Datagram Socket UDP A differenza degli UDDS I datagrams possono essere persi duplicati o arrivare in un ordine diverso

Dettagli

Esercitazione Laboratorio di Sistemi Operativi 20-01-2014. Cognome Nome Mat.

Esercitazione Laboratorio di Sistemi Operativi 20-01-2014. Cognome Nome Mat. Il compito è costituito da domande chiuse e domande aperte. Non è consentito l uso di libri, manuali, appunti., etc. Tempo massimo 2 ore. Domande chiuse: ogni domanda corrisponde ad un punteggio di 1 punto

Dettagli

Esempio 1: stampa locale di file remoto

Esempio 1: stampa locale di file remoto Alcuni esempi di uso di Socket Esempio 1: stampa locale di file remoto Visualizzazione locale del contenuto di un file remoto. Il client deve richiedere la creazione della connessione e successivamente

Dettagli

request reply richiesta client processo di servizio processo server principale From - Valeria Cardellini, Corso Sist. Distr. A.A.

request reply richiesta client processo di servizio processo server principale From - Valeria Cardellini, Corso Sist. Distr. A.A. Applicazioni di rete Forniscono i servizi di alto livello utilizzati dagli utenti Determinano la percezione di qualità del servizio (QoS) che gli utenti hanno della rete sottostante Programmazione di applicazioni

Dettagli

LABORATORIO di Reti di Calcolatori

LABORATORIO di Reti di Calcolatori LABORATORIO di Reti di Calcolatori Socket in linguaggio C: protocollo connection-oriented 1 of 15 v slide della docente Bibliografia v testo di supporto: D. Maggiorini, Introduzione alla programmazione

Dettagli

Socket TCP. seconda parte

Socket TCP. seconda parte Socket TCP seconda parte Schema della connessione Computer 1 127.43.18.1 indirizzo I1 indirizzo I2 Computer 2 143.225.5.3 porta 45000 socket porta 5200 socket processo client processo server socket(...)

Dettagli

Program m azione di Sistem a 6

Program m azione di Sistem a 6 Program m azione di Sistem a 6 Lucidi per il corso di Laboratorio di Sistemi Operativi tenuto da Paolo Baldan presso l'università Ca' Foscari di Venezia, anno accademico 2004/ 2005. Parte di questo materiale

Dettagli

Inter-process communication: socket

Inter-process communication: socket Le Socket Inter-process communication: socket Abbiamo visti alcune tipologie di Inter-process communication: Anonymous pipes FIFOs o named pipes Le socket di comunicazione si pongono nell'ipc per realizzare:

Dettagli

Progettazione di un client TCP. Progettazione di un server TCP. Esempio: daytime TCP. Client TCP daytime

Progettazione di un client TCP. Progettazione di un server TCP. Esempio: daytime TCP. Client TCP daytime Progettazione di un client TCP Progettazione di un server TCP Passi per la progettazione di un client TCP 1. Creazione di un endpoint Richiesta al sistema operativo 2. Creazione della connessione Implementazione

Dettagli

Elementi di programmazione con interfaccia Socket

Elementi di programmazione con interfaccia Socket Struttura generale per stream sockets Socket() Well-Known Port Bind() Elementi di programmazione con interfaccia Socket Cenni di programmazione secondo la nuova interfaccia Socket definita nella RFC 2553

Dettagli

SC per Inter Process Comminication. Comunicazione fra macchine diverse: socket

SC per Inter Process Comminication. Comunicazione fra macchine diverse: socket SC per Inter Process Comminication Comunicazione fra macchine diverse: socket 1 Sockets File speciali utilizzati per connettere due o più processi con un canale di comunicazione i processi possono risiedere

Dettagli

TECN.PROG.SIST.INF. TCP socket in Windows. 2015 - Roberta Gerboni

TECN.PROG.SIST.INF. TCP socket in Windows. 2015 - Roberta Gerboni 2015 - Roberta Gerboni Schema logico della comunicazione TCP in linguaggio C mediante bytestream socket. Parte asimmetrica Ruolo passivo bind () Parte asimmetrica Ruolo attivo Parte simmetrica Parte simmetrica

Dettagli

Lo strato di applicazione in Internet

Lo strato di applicazione in Internet Lo strato di applicazione in Internet Prof. Ing. Carla Raffaelli a.a. 2004/2005 Protocolli applicativi Sono i protocolli utilizzati dalle applicazioni per scambiarsi informazioni Esempi: HTTP per il web,

Dettagli

Creare un'elementare backdoor in C in ambiente UNIX

Creare un'elementare backdoor in C in ambiente UNIX Creare un'elementare backdoor in C in ambiente UNIX DISCLAIMER: Questo tutorial è a solo scopo didattico. L'autore NON si prende alcuna responsabilità circa usi errati o non legali delle informazioni qui

Dettagli

Esercitazione di Lab. di Sistemi Operativi 1 a.a. 2011/2012. - Comunicazione Tra Processi (IPC) - - 2 Parte -

Esercitazione di Lab. di Sistemi Operativi 1 a.a. 2011/2012. - Comunicazione Tra Processi (IPC) - - 2 Parte - Esercitazione di Lab. di Sistemi Operativi 1 a.a. 2011/2012 - Comunicazione Tra Processi (IPC) - - 2 Parte - 1 Sommario Comunicazione tra processi su macchine diverse in rete: Socket TCP o Socket Stream

Dettagli

T.A.R.I. Socket (ICT, AL)

T.A.R.I. Socket (ICT, AL) Internet Applications (Client-Server Concept, Use of Protocol Ports, Socket API, DNS, E-mail, TELNET, FTP) Funzionalità Livello di trasporto e livelli sottostanti Comunicazione base Disponibilità Livello

Dettagli

(VHUFLWD]LRQLGLEDVHVXOOH6RFNHWLQ&

(VHUFLWD]LRQLGLEDVHVXOOH6RFNHWLQ& (VHUFLWD]LRQLGLEDVHVXOOH6RFNHWLQ& 3ULPRHVHUFL]LR6RFNHWVWUHDPFRQULGLUH]LRQH Si progetti un applicazione distribuita Client/Server per una rete di workstation UNIX (BSD oppure System V). In particolare,

Dettagli

rsystem Maximiliano Marchesi maximiliano.marchesi@studenti.unipr.it

rsystem Maximiliano Marchesi maximiliano.marchesi@studenti.unipr.it Maximiliano Marchesi 28 Settembre 2005 Diario delle Revisioni Revisione 1.2 28 Settembre 2005 maximiliano.marchesi@studenti.unipr.it Sommario Introduzione..................................................................................

Dettagli

Sistemi di Elaborazione. Introduzione alla Programmazione distribuita

Sistemi di Elaborazione. Introduzione alla Programmazione distribuita Sistemi di Elaborazione Introduzione alla Programmazione distribuita Obiettivi Introdurre i concetti di base su programmazione distribuita Modello Client-Server Interfaccia Socket Progettare e realizzare

Dettagli

unsigned long inet_addr(cp) char *cp;

unsigned long inet_addr(cp) char *cp; /* bcopystru.c #include struct point int x; char *y; ; struct point a, b; struct pint *pta, *ptb; a.x = 5; a.y = pippo ; b = a; printf i valori del secondo point sono: %d %s\n,b.x,b.y); pta=

Dettagli

Laboratorio di Reti di Calcolatori

Laboratorio di Reti di Calcolatori Laboratorio di Reti di Calcolatori Socket UDP. Paolo D Arco Abstract Scopo della lezione è descrivere le funzioni che l interfaccia dei socket offre per far interagire client e server attraverso il protocollo

Dettagli

Applicazione distribuita

Applicazione distribuita La programmazione di applicazioni distribuite in C Il concetto di applicazione distribuita L architettura di una applicazione distribuita Il paradigma a scambio di messaggi Il paradigma client-server Il

Dettagli

Esercitazione di Lab. di Sistemi Operativi 1 a.a. 2011/2012. - Comunicazione Tra Processi (IPC)- - 1 Parte -

Esercitazione di Lab. di Sistemi Operativi 1 a.a. 2011/2012. - Comunicazione Tra Processi (IPC)- - 1 Parte - Esercitazione di Lab. di Sistemi Operativi 1 a.a. 2011/2012 - Comunicazione Tra Processi (IPC)- - 1 Parte - 1 Sommario Comunicazione tra processi sulla stessa macchina: fifo (qualunque insieme di processi)

Dettagli

programmazione distribuita Introduzione Introduzione alla programmazione distribuita

programmazione distribuita Introduzione Introduzione alla programmazione distribuita Reti Informatiche Introduzione alla programmazione distribuita Introduzione Richiami di Programmazione C Differenze principali C/C++ 2 1 Definizioni di variabili Le variabili possono essere definite solo

Dettagli

Laboratorio di Reti di Calcolatori

Laboratorio di Reti di Calcolatori Laboratorio di Reti di Calcolatori Comunicazione tra processi in una interrete, Socket API. Paolo D Arco Abstract Scopo della lezione è spiegare concisamente come possono comunicare due processi in esecuzione

Dettagli

Domain Name Service. Mapping nomi/indirizzi con Socket API in C

Domain Name Service. Mapping nomi/indirizzi con Socket API in C Domain Name Service Mapping nomi/indirizzi con Socket API in C 1 Risoluzione di nomi simbolici TCP/IP ha bisogno di rappresentazioni numeriche per gli indirizzi (es. 193.204.187.189) e per le porte (es.

Dettagli

Basi di network programming sotto Unix/Linux (draft version) Claudio Piciarelli

Basi di network programming sotto Unix/Linux (draft version) Claudio Piciarelli Basi di network programming sotto Unix/Linux (draft version) Claudio Piciarelli 20 dicembre 2004 ii Indice 1 Introduzione 1 1.1 Notazioni e terminologia..................................... 1 2 Un po di

Dettagli

Socket per TCP: Fondamenti

Socket per TCP: Fondamenti Socket per TCP: Fondamenti Network Applications Molte applicazioni di rete sono formate da due programmi distinti (che lavorano su due diversi host) uno detto server ed uno detto client. Il server si mette

Dettagli

Server Iterativi. Server TCP Ricorsivi. Fork. Server Ricorsivi. un server iterativo gestisce una connessione alla volta. Prof.

Server Iterativi. Server TCP Ricorsivi. Fork. Server Ricorsivi. un server iterativo gestisce una connessione alla volta. Prof. Università degli studi di Salerno Laurea in Informatica a.a. 2003/04 TCP Ricorsivi Prof. Vincenzo Auletta auletta@dia.unisa.it http://www.dia.unisa.it/professori/auletta/ 1 Iterativi un server iterativo

Dettagli

Ret e i Inf n o f rm r a m t a ich c e Terza esercitazione

Ret e i Inf n o f rm r a m t a ich c e Terza esercitazione Reti Informatiche Terza esercitazione Introduzione Richiami di Programmazione C Differenze principali C/C++ 2 Definizioni di variabili Le variabili possono essere definite solo all inizio di un blocco

Dettagli

Architettura e servizi Internet

Architettura e servizi Internet Architettura e servizi Internet Laboratorio di Sistemi Operativi Corso di Laurea in Informatica Università degli Studi dell'aquila A.A. 2011/2012 Romina Eramo materiale tratto da: Fazio Vincenzo e-mail:

Dettagli

Capitolo 2 - parte 3. Corso Reti ed Applicazioni Mauro Campanella

Capitolo 2 - parte 3. Corso Reti ed Applicazioni Mauro Campanella Capitolo 2 - parte 3 Corso Reti ed Applicazioni Mauro Campanella Agenda - Domain Name Sytem (DNS) - Le socket BSD per Internet M. Campanella Corso Reti ed Applicazioni - Como 2005 Cap 2-3 pag. 2 DNS: Domain

Dettagli

Laboratorio di Programmazione in Rete

Laboratorio di Programmazione in Rete Laboratorio di rogrammazione in Rete a.a. 2005/2006 http://www.di.uniba.it/~lisi/courses/prog-rete/prog-rete0506.htm dott.ssa Francesca A. Lisi lisi@di.uniba.it Orario di ricevimento: mercoledì ore 10-12

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

Acknowledgment: Prof Vincenzo Auletta, Università di Salerno. Approfondimento alla programmazione distribuita

Acknowledgment: Prof Vincenzo Auletta, Università di Salerno. Approfondimento alla programmazione distribuita Reti Informatiche Approfondimento alla programmazione distribuita Acknowledgment: Prof Vincenzo Auletta, Università di Salerno Introduzione API send e receive bloccanti e non API select Socket UDP Esempio

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

Esercitazione [5] Input/Output su Socket

Esercitazione [5] Input/Output su Socket Esercitazione [5] Input/Output su Socket Leonardo Aniello - aniello@dis.uniroma1.it Daniele Cono D'Elia - delia@dis.uniroma1.it Sistemi di Calcolo - Secondo modulo (SC2) Programmazione dei Sistemi di Calcolo

Dettagli

Laboratorio di Reti di Calcolatori

Laboratorio di Reti di Calcolatori Laboratorio di Reti di Calcolatori Funzioni utili, server ricorsivi, echo client ed echo server. Paolo D Arco Abstract Scopo della lezione è presentare alcune funzioni di utilità generale (e.g., funzioni

Dettagli

Il modello Client/Server. La comunicazione

Il modello Client/Server. La comunicazione Il modello Client/Server La comunicazione Se sintetizziamo uno scenario completo possiamo identificare diverse interfacce di comun icazione: Interfaccia di comuncazione: insieme delle API necessarie alla

Dettagli

Guida di Beej alla Programmazione di Rete

Guida di Beej alla Programmazione di Rete Guida di Beej alla Programmazione di Rete Usando Socket Internet Brian "Beej Jorgensen" Hall beej@beej.us Versione 2.4.5 5 Agosto 2007 Copyright 2007 Brian "Beej Jorgensen" Hall Traduzione di Fabrizio

Dettagli

Le Opzioni per i Socket

Le Opzioni per i Socket Advanced TCP Socket Le Opzioni per i Socket Le opzioni per i socket sono controllate mediante tre tipi di primitive: 1) le funzioni getsockopt() e setsockopt(), che permettono di configurare alcune caratteristiche

Dettagli

INGEGNERIA DEL WEB. VinX

INGEGNERIA DEL WEB. VinX INGEGNERIA DEL WEB VinX Indice 1 Programmazione di applicazioni di rete 1 1.1 Applicazioni di rete........................................ 1 1.2 Modello Client/Server......................................

Dettagli

Architetture di rete. 4. Le applicazioni di rete

Architetture di rete. 4. Le applicazioni di rete Architetture di rete 4. Le applicazioni di rete Introduzione L avvento di tecnologie (hw, sw, protocolli) di rete avanzate ha permesso la nascita di architetture software molto evolute che permettono lo

Dettagli

Esercitazione sulle Socket

Esercitazione sulle Socket Esercitazione sulle Socket Sommario Echo Server Specifica Descrizione programma (TCP Socket) Client UNIX/WIN Server UNIX/WIN Server multithread UNIX/WIN Descrizione programma (UDP Socket) 2 Interazione

Dettagli

Laboratorio di Programmazione in rete

Laboratorio di Programmazione in rete Laboratorio di rogrammazione in rete Introduzione alla programmazione C di socket A.A. 2005/06 Comunicazione tra computer Come far comunicare più computer su una rete? Una collezione di protocolli: TC/I

Dettagli

Interazione con il DNS Conversioni di Nomi ed Indirizzi

Interazione con il DNS Conversioni di Nomi ed Indirizzi a.a. 2003/04 Interazione con il DNS Conversioni di Nomi ed Indirizzi Prof. Vincenzo Auletta auletta@dia.unisa.it http://www.dia.unisa.it/professori/auletta/ Università degli studi di Salerno Laurea in

Dettagli

Modello client-server

Modello client-server Modello -server Il server fornisce servizi sulla rete Viene eseguita l applicazione server su un host L applicazione attende connessioni dalla rete Il usufruisce del servizio attraverso la rete Deve conoscere

Dettagli

Basic Sniffer Tutorial

Basic Sniffer Tutorial Basic Sniffer Tutorial LnZ Aspinall S.P.I.N.E. Research Group April 2, 2003 Abstract Con questo semplice esempio cerchero di mostrarvi l uso di base delle

Dettagli

Applicazione Client-Server con Server Concorrente Specifiche

Applicazione Client-Server con Server Concorrente Specifiche Applicazione Client-Server con Server Concorrente Specifiche Il progetto consiste nello sviluppo di un'applicazione client/server. Client e server devono comunicare tramite socket TCP.. Il server deve

Dettagli

Laboratorio di Programmazione in Rete

Laboratorio di Programmazione in Rete Laboratorio di Programmazione in Rete a.a. 2005/2006 http://www.di.uniba.it/~lisi/courses/prog-rete/prog-rete0506.htm dott.ssa Francesca A. Lisi lisi@di.uniba.it Orario di ricevimento: mercoledì ore 10-12

Dettagli

ESERCITAZIONE 2 RIPASSO. EX. 1 Un processo padre (parent) crea due processi figli (children) e attende la loro terminazione. Se, e solo se,...

ESERCITAZIONE 2 RIPASSO. EX. 1 Un processo padre (parent) crea due processi figli (children) e attende la loro terminazione. Se, e solo se,... ESERCITAZIONE DEL 23 MARZO 2002 ESERCITAZIONE 2 RIPASSO EX. 1 Un processo padre (parent) crea due processi figli (children) e attende la loro terminazione. Se, e solo se,. EX. 2 Un server di rete attende

Dettagli

CORSO DI SISTEMI OPERATIVI A - ESERCITAZIONE 6

CORSO DI SISTEMI OPERATIVI A - ESERCITAZIONE 6 UNIVERSITÀ DEGLI STUDI DI PARMA Facoltà di Ingegneria Corso di Laurea in Ingegneria Informatica, Elettronica e delle Telecomunicazioni a.a. 2005-2006 CORSO DI SISTEMI OPERATIVI A - ESERCITAZIONE 6 1 Socket

Dettagli

I/O su Socket TCP: read()

I/O su Socket TCP: read() I/O su Socket TCP: read() I socket TCP, una volta che la connessione TCP sia stata instaurata, sono accedibili come se fossero dei file, mediante un descrittore di file (un intero) ottenuto tramite una

Dettagli

Programmazione dei socket di rete in GNU/Linux

Programmazione dei socket di rete in GNU/Linux Programmazione dei socket di rete in GNU/Linux Fulvio Ferroni fulvioferroni@teletu.it 2006.09.21 Copyright Fulvio Ferroni fulvioferroni@teletu.it Via Longarone, 6-31030 - Casier (TV) Le informazioni contenute

Dettagli

Programmazione di rete: 1. Architettura di Internet 2. Richiami di TCP/IP 3. Sockets in sistemi UNIX/Windows

Programmazione di rete: 1. Architettura di Internet 2. Richiami di TCP/IP 3. Sockets in sistemi UNIX/Windows Sistemi Operativi II Corso di Laurea in Ingegneria Informatica Facolta di Ingegneria, Universita La Sapienza Docente: Francesco Quaglia Programmazione di rete: 1. Architettura di Internet 2. Richiami di

Dettagli

Uso di sniffer ed intercettazione del traffico IP

Uso di sniffer ed intercettazione del traffico IP Uso di sniffer ed intercettazione del traffico IP Massimo Bernaschi Istituto per le Applicazioni del Calcolo Mauro Picone Consiglio Nazionale delle Ricerche Viale del Policlinico, 137-00161 Rome - Italy

Dettagli

Corso di Reti di Calcolatori T

Corso di Reti di Calcolatori T Università degli Studi di Bologna Facoltà di Ingegneria Corso di Reti di Calcolatori T Progetto C/S con Socket in C Antonio Corradi Anno accademico 2011/2012 Socket in C 1 COMUNICAZIONE e SOCKET Necessità

Dettagli

Socket. [Pagina intenzionalmente vuota] 2: Socket (10 3 2003) slide 2:1/50 (p.24)

Socket. [Pagina intenzionalmente vuota] 2: Socket (10 3 2003) slide 2:1/50 (p.24) Socket [Pagina intenzionalmente vuota] (10 3 2003) slide 2:1/50 (p.24) Concetto di socket Disponibili su tutti i sistemi odierni Endpoint di canale (logico) di comunicazione tra processi, anche remoti

Dettagli

Controllo Winsock di Visual Basic

Controllo Winsock di Visual Basic Controllo Winsock di Visual Basic Il controllo Winsock, non visibile all'utente, consente di accedere ai servizi di rete TCP e UDP. Per creare applicazioni client o server non è necessario conoscere in

Dettagli

Telematica di Base. IL Livello di Trasporto TCP

Telematica di Base. IL Livello di Trasporto TCP Telematica di Base IL Livello di Trasporto TCP TCP RFCs: 793, 1122, 1323, 2018, 2581 point-to-point: Un sender, un receiver affidabile protocollo di tipo pipeline: Meccanismi per evitare la congestione,

Dettagli

Reti di Calcolatori - Laboratorio. Lezione 7. Gennaro Oliva

Reti di Calcolatori - Laboratorio. Lezione 7. Gennaro Oliva Reti di Calcolatori - Laboratorio Lezione 7 Gennaro Oliva Opzioni di socket Ogni socket aperto ha un insieme di opzioni associate che ne determinano il comportamento Distinguiamo due tipi: opzioni binarie

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

Il livello di Trasporto del TCP/IP

Il livello di Trasporto del TCP/IP Il livello di Trasporto del TCP/IP Il compito del livello transport (livello 4) è di fornire un trasporto efficace dall'host di origine a quello di destinazione, indipendentemente dalla rete utilizzata.

Dettagli

Le Reti Informatiche

Le Reti Informatiche Le Reti Informatiche modulo 8 Prof. Salvatore Rosta www.byteman.it s.rosta@byteman.it 1 Il Livello di Trasporto: 1 L utente non ha il controllo sulla rete; non può risolvere i problemi di un servizio inadeguato

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

Opzioni del Socket. Socket Options. Opzioni di Livello Socket. Livello delle Opzioni

Opzioni del Socket. Socket Options. Opzioni di Livello Socket. Livello delle Opzioni a.a. 2003/04 Opzioni del Socket Socket Options Prof. Vincenzo Auletta auletta@dia.unisa.it http://www.dia.unisa.it/professori/auletta/ Università degli studi di Salerno Laurea in Informatica 1 Ogni socket

Dettagli

Una prima applicazione in C per l utilizzo delle socket

Una prima applicazione in C per l utilizzo delle socket Una prima applicazione in C per l utilizzo delle socket Richiamo sulle socket Socket in Windows (WinSock) Differenze tra sistemi operativi D. Gendarmi Socket API API: Application Programming Interface

Dettagli

Strumenti di Comunicazione

Strumenti di Comunicazione Strumenti di Comunicazione Livelli di strumenti diversi Livelli Interfacce di comunicazione Named Pipe TLI Mail Slot RPC 7 Applicazione 6 Presentazione NetBIOS SPX Sockets NetIPC 5 Sessione 4 Trasporto

Dettagli

CORSO DI SISTEMI OPERATIVI A - ESERCITAZIONE 3

CORSO DI SISTEMI OPERATIVI A - ESERCITAZIONE 3 UNIVERSITÀ DEGLI STUDI DI PARMA Facoltà di Ingegneria Corso di Laurea in Ingegneria Elettronica-Informatica-Telecomunicazioni a.a. 2001-2002 CORSO DI SISTEMI OPERATIVI A - ESERCITAZIONE 3 1 Trasferimento

Dettagli

Opzioni per le Socket

Opzioni per le Socket Opzioni per le Socket A.A. 2005/06 Opzioni per le Socket Ogni socket aperto ha delle proprietà che ne determinano alcuni comportamenti Le opzioni del socket consentono di modificare tali proprietà Ogni

Dettagli

OSOR. Obiettivi. Cooperazione fra processi. Introduzione alla programmazione distribuita. Processi indipendenti. Processi Cooperanti

OSOR. Obiettivi. Cooperazione fra processi. Introduzione alla programmazione distribuita. Processi indipendenti. Processi Cooperanti OSOR Introduzione alla programmazione distribuita Obiettivi Introdurre i concetti di base su programmazione distribuita Modello Client-Server Interfaccia Socket Capire come funzionano le applicazioni di

Dettagli

Progetto fine al superamento del corso di Sistemi Operativi. Http server proxy Http web monitor

Progetto fine al superamento del corso di Sistemi Operativi. Http server proxy Http web monitor Progetto fine al superamento del corso di Sistemi Operativi Http server proxy Http web monitor Sviluppato da: Santoro Carlo Maurizio Sviluppo terminato in Luglio/2006 Obiettivo: Progettare ed implementare

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

Funzioni bloccanti e soluzioni. Funzioni bloccanti e soluzioni (2) Parametri della funzione select() Funzione select()

Funzioni bloccanti e soluzioni. Funzioni bloccanti e soluzioni (2) Parametri della funzione select() Funzione select() Funzioni bloccanti e soluzioni La funzione accept() e le funzioni per la gestione dell I/O (ad es., read() e write()) sono bloccanti Ad es., le funzioni read() e recv() rimangono in attesa finché non vi

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

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

INTRODUZIONE ALL INTERFACCIA SOCKET DI BERKELEY E.Mumolo IL MODELLO CLIENT/SERVER

INTRODUZIONE ALL INTERFACCIA SOCKET DI BERKELEY E.Mumolo IL MODELLO CLIENT/SERVER INTRODUZIONE ALL INTERFACCIA SOCKET DI BERKELEY E.Mumolo IL MODELLO CLIENT/SERVER NB : TCP/IP = famiglia di protocolli Il modello client/server e alla base della maggior parte delle applicazioni distribute

Dettagli

LIBRERIA SOCKET EFUNZIONI DI NETWORKING. Versione 1.0

LIBRERIA SOCKET EFUNZIONI DI NETWORKING. Versione 1.0 LIBRERIA SOCKET EFUNZIONI DI NETWORKING Versione 1.0 Vito Asta, febbraio 2000 N.B. La presente dispensa accenna solo brevemente agli argomenti trattati e alle funzioni viste nel corso delle esercitazioni;

Dettagli

IL CONCETTO DI FILE. È illecito operare oltre la fine del file.

IL CONCETTO DI FILE. È illecito operare oltre la fine del file. IL CONCETTO DI FILE Un file è una astrazione fornita dal sistema operativo, il cui scopo è consentire la memorizzazione di informazioni su memoria di massa. Concettualmente, un file è una sequenza di registrazioni

Dettagli