Docsity
Docsity

Prepara i tuoi esami
Prepara i tuoi esami

Studia grazie alle numerose risorse presenti su Docsity


Ottieni i punti per scaricare
Ottieni i punti per scaricare

Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium


Guide e consigli
Guide e consigli


Tpsi - socket spiegazione, Dispense di Informatica

spiegazione + verifica corretta, Scegliere protocollo, Server e client, Stream Socket

Tipologia: Dispense

2022/2023

In vendita dal 15/09/2023

carla-boscolo
carla-boscolo 🇮🇹

4.5

(13)

520 documenti

1 / 8

Toggle sidebar

Questa pagina non è visibile nell’anteprima

Non perderti parti importanti!

bg1
I socket
Indice
Scegliere protocollo
Server e client
Stream Socket
Verifica di autovalutazione corretta
Mappe per ripasso
Parte codice stream socket
Livello di trasporto sotto livello applicazione
Applicazione di rete -> più elementi collaborano tramite gli indirizzi ip
Protocollo -> insieme di regole di comportamento, definisce aspetti fisici (cavo : doppino,
ethernet), anche aspetti logici (regole di codifica, messaggi e loro significati)
Applicazione https utilizza tcp per mandare messaggi
Trasporto tcp usa ip per mandare segmenti
Rete si chiamano datagrammi
Collegamento frame
bit
Scegliere protocollo
Tcp
Connection - orienting
Fino a che uno dei due non decide di stopparlo
È affidabile, segnala gli errori
Certezza che i dati che mando arrivano
Udp
No affidabile
Il vantaggio è che è più veloce
Usa la porta per mandare i messaggi
Non serve sapere necessariamente se un dato è arrivato
Avendo 2 servizi :
pf3
pf4
pf5
pf8

Anteprima parziale del testo

Scarica Tpsi - socket spiegazione e più Dispense in PDF di Informatica solo su Docsity!

I socket

Indice

● Scegliere protocollo ● Server e client ● Stream Socket ● Verifica di autovalutazione corretta ● Mappe per ripasso ● Parte codice stream socket Livello di trasporto sotto livello applicazione Applicazione di rete -> più elementi collaborano tramite gli indirizzi ip Protocollo -> insieme di regole di comportamento, definisce aspetti fisici (cavo : doppino, ethernet), anche aspetti logici (regole di codifica, messaggi e loro significati) Applicazione https utilizza tcp per mandare messaggi Trasporto tcp usa ip per mandare segmenti Rete si chiamano datagrammi Collegamento frame bit

Scegliere protocollo

TcpConnection - orienting Fino a che uno dei due non decide di stopparlo ● È affidabile , segnala gli errori Certezza che i dati che mando arrivano Udp ● No affidabile Il vantaggio è che è più veloce Usa la porta per mandare i messaggi Non serve sapere necessariamente se un dato è arrivato Avendo 2 servizi :

● Server web httpp ● Posta elettronica sntp Non posso usare 2 ip, ma li inserisco in 2 porte diverse Il numero di porta di solito è tipica di alcuni servizi, le altre sono libere Per identificare in maniera univoca la connessione Protocollo (tcp/udp) + ip + porta Server e client Server : realizza servizio Client : richiede servizio Il client per primo esegue la richiesta, client e server utilizzano i socket per comunicare. Quando client invia al server l’inizio della connessione deve passargli il dato del suo ip e porta perché il server non conosce quello dell’host che richiede un servizio. Il Server può essere Unicast se server parla con un solo client Multicast se server parla con tanti client I socket usati Stream socket (TCP) Datagram socket (UDP) Stream Socket ● Sequenziale ● Affidabile ● Stream di byte a lunghezza variabile Client con Ip e porta, crea un socket per connetterlo al server. Per comunicare con il server il client deve sapere ip e porta del server (che è 80). Il server riceve richiesta, non risponde sulla stessa porta, ma crea un canale virtuale che sarà un’altra porta (la porta 80 deve rimanere libera per accodare le altre richieste anche da altri host) e sarà un socket chiamato data sockets

Verifica di autovalutazione corretta

Quale tipo di socket implementa il protocollo UDP? *

datagram socket

Un client TCP..

utilizza solo data socket

Cosa rappresenta il parametro del costruttore della classe ServerSocket:

ServerSocket(int port)?

la porta locale su cui il server espone il servizio

La classe ServerSocket implementa.

un connection socket

La classe Socket implementa...

un data socket

Cosa rappresentano i parametri del costruttore della classe Socket usata da un

client: Socket(InetAddress address, int port)?

l'indirizzo IP e la porta del server a cui connettersi

Un server TCP multicast.

utilizza sia connection socket che data socket

Quale tipo di socket implementa il protocollo TCP?

stream socket

Un data socket ha una connessione bidirezionale

vero

Un connection socket ha una connessione bidirezionale

falso Mappe per ripasso

client.socket()

  • parte del client* Esso si connette al server tramite la porta e indirizzo ip di esso Porta 6789 NomeServer “Localhost” perché è nello stesso dispositivo Ha un main che istanza .connetti() .comunica() ClientSocket Cliente = new ClientSocket() Per quanto riguarda connetti() Socket miosocket (É un data socket) Sempre Bufferer input e output outVersoServer = manda stringa al server InDalServer = riceve stringa modificata dal server Stream invia e riceve dati ● Leggere da tastiera o da socket In comunica() invia un messaggio Prende la stringa StringaUtente = tastiera.readLine(); OutVersoServer.writeBytes(stringaUtente + “\n”); Importante mettere \n altrimenti si blocca Server multiplo stream Multi server Socket Main si istanzia un oggetto Chiama start Creo connection socket While(true) fa un ciclo infinito Server socket = ServerSocket.accept(); ServerThread serverThread = new ServerThread(socket); ServerThread.start(); Costruttore che si aspetta un socket

Public ServerThread(Socket socket){ this.client = socket; } Thread -> derivate da classe thread Posso implementare interfaccia runnable La start chiama la run() Try Comunica() Exception Sotto comunica() Si crea input e output While(continua) che prende i dati