Socket Flashcards

(27 cards)

1
Q

Cosa sono i socket?

A

Sono un collegamento logico tra due dispositivi che devono trasferire dei dati

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Quali sono le due funzioni principali fornite dalla Java Networking API?

A

ServerSocket e Socket

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Qual è la funzione della classe ServerSocket?

A

Permette al server di avviare la comunicazione e mettersi in ascolto su una determinata porta

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Qual è la funzione della classe Socket?

A

Viene usata dal client

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Quali sono i due tipi di socket?

A

Datagram socket e Stream socket

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Quale connessione utilizza lo stream socket?

A

TCP

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Quale connessione utilizza il datagram socket?

A

UDP

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Come può avvenire la comunicazione tra client e server?

A

Sincrona o asincrona

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Cosa implica la modalità sincrona nella comunicazione?

A

Il client e il server devono essere attivi nello stesso momento

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Cosa implica la modalità asincrona nella comunicazione?

A

Il server non deve per forza essere online

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Qual è il primo step per creare un server?

A

Creare il server (numero porta: 0-65000)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Quale metodo si usa per accettare la comunicazione nel server?

A

accept()

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Come si crea un socket in Java?

A

new Socket(“indirizzo”, numPorta)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Cosa è necessario fare alla fine della comunicazione?

A

Chiudere tutte le socket, liberando le risorse

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Cosa è un flusso di dati?

A

È un flusso sempre sincrono tra il mittente e il destinatario

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Quali sono le pratiche per garantire una comunicazione efficiente e sicura? (Scrivile una sotto l’altra)

A

Gestire gli errori e le eccezioni
Usare il buffer
Usare in maniera efficiente le risorse
Non lasciare aperte comunicazioni inutili
Gestire la concorrenza dei thread

17
Q

A cosa serve il buffer?

A

È utile per ottimizzare le operazioni di lettura e scrittura dei dati

18
Q

Cosa sono le primitive di servizio?

A

Operazioni di basso livello che consentono la comunicazione tra il dispositivo e la rete

19
Q

Quali sono i metodi principali per la comunicazione TCP della classe Socket? (Scrivili uno sotto l’altro)

A

connect()
getInputStream()
getOutputStream()
close()

20
Q

Quali sono i metodi principali per la comunicazione TCP della classe ServerSocket? (Scrivili uno sotto l’altro)

A

bind()
listen()
accept()
close()

21
Q

Cosa fa il metodo accept() nella classe ServerSocket?

A

Accetta le connessioni in entrata e restituisce un nuovo socket per la comunicazione

22
Q

Qual è la funzione della classe InetAddress?

A

Permette di risolvere un nome di dominio in un indirizzo IP e viceversa

23
Q

Quali sono i metodi principali della classe InetAddress? (Scrivili uno sotto l’altro)

A

getByName(“Nome Dominio”)
getHostAddress(“Nome Dominio”)

24
Q

A cosa serve il multithreading?

A

Consente di gestire più comunicazioni simultaneamente, garantendo un aumento di performance ed efficienza

25
Quali sono i metodi principali nel multithreading? (Scrivili uno sotto l'altro)
start() run()
26
Cosa è la programmazione di rete?
È la tecnica di sviluppo che consente di creare applicazioni che comunicano tra di loro attraverso una rete
27
Quali sono i due tipi di architetture delle applicazioni di rete
Client-server e Peer-to-peer