









Studia grazie alle numerose risorse presenti su Docsity
Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium
Prepara i tuoi esami
Studia grazie alle numerose risorse presenti su Docsity
Prepara i tuoi esami con i documenti condivisi da studenti come te su Docsity
Trova i documenti specifici per gli esami della tua università
Preparati con lezioni e prove svolte basate sui programmi universitari!
Rispondi a reali domande d’esame e scopri la tua preparazione
Riassumi i tuoi documenti, fagli domande, convertili in quiz e mappe concettuali
Studia con prove svolte, tesine e consigli utili
Togliti ogni dubbio leggendo le risposte alle domande fatte da altri studenti come te
Esplora i documenti più scaricati per gli argomenti di studio più popolari
Ottieni i punti per scaricare
Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium
Connessione TCP in ambito Java
Tipologia: Slide
1 / 17
Questa pagina non è visibile nell’anteprima
Non perderti parti importanti!










⚫ Il protocollo TCP prevede la connessione esplicita di un processo client auna processo server in esecuzione su computer diversi interconnessi in una rete LAN o WAN che impiega lo stack di protocolli TCP/IP3 per la trasmissione/ricezione bidirezionale di un flusso di byte denominato bytestream. ⚫ Il singolo computer connesso in rete è identificato dal proprio indirizzoIPv4 a 32 bit, mentre i processi server e client sono associati univocamente a un numero di porta a 16 bit. ⚫ La coppia indirizzo IP e numero di porta TCP identifica in modo univoco uno dei due socket della connessione. Il protocollo TCP garantisce l'affidabilità della comunicazione end-to-end tra i due socket connessi ⚫ a meno di gravi errori di comunicazione sulla rete è garantita la ricezione da parte del socket destinatario di tutti i singoli byte nell’ordine in cui sono trasmessi dal socket mittente senza errori, o perdite. ⚫ La connessione del processo client al processo server ha come prerequisito l’«ascolto» da parte del processo server della richiesta di connessione su un numero di porta noto al processo client che deve inoltrare la richiesta stessa prima di avviare la comunicazione.
Il diagramma UML illustra l’ordine temporale di invocazione delle funzioni API di gestione dei socket TCP e l’interazione tra i processi client e il processo server. La comunicazione tra i processi client e server mediante invocazione delle funzioni send e recv avviene solo nelle fasi di attivazione evidenziate incolore. L’invocazione della funzione bind da parte dei processi client non viene effettuata perché non è necessario che i relativi socket abbiano un numero di porta determinato: in questo caso il sistema operativo associa il socket a un numero di porta scelto casualmente tra quelli disponibili
Librerie
Sintassi int accept( int socket, struct sockaddr* cli_addr, int * dim); La funzione accept blocca il processo server in attesa di una richiesta di connessione da parte di un processo client in caso di connessione accettata con successo la funzione restituisce l’identificatore del socket su cui avviene la comunicazione con il processo client ,–1 altrimenti
Sintassi int connect( int socket, struct sockaddr* servaddr, int * dim);
int recv( int socket, void* buffer, int size, int flag);
int close( int socket); E’ la funzione che serve a chiudere il socket specificato. La funzione restituisce 0 in caso di successo, - 1 altrimenti. Il parametro socket rappresenta il numero identificativo del socket da chiudere.