Socket Flashcards
(27 cards)
Cosa sono i socket?
Sono un collegamento logico tra due dispositivi che devono trasferire dei dati
Quali sono le due funzioni principali fornite dalla Java Networking API?
ServerSocket e Socket
Qual è la funzione della classe ServerSocket?
Permette al server di avviare la comunicazione e mettersi in ascolto su una determinata porta
Qual è la funzione della classe Socket?
Viene usata dal client
Quali sono i due tipi di socket?
Datagram socket e Stream socket
Quale connessione utilizza lo stream socket?
TCP
Quale connessione utilizza il datagram socket?
UDP
Come può avvenire la comunicazione tra client e server?
Sincrona o asincrona
Cosa implica la modalità sincrona nella comunicazione?
Il client e il server devono essere attivi nello stesso momento
Cosa implica la modalità asincrona nella comunicazione?
Il server non deve per forza essere online
Qual è il primo step per creare un server?
Creare il server (numero porta: 0-65000)
Quale metodo si usa per accettare la comunicazione nel server?
accept()
Come si crea un socket in Java?
new Socket(“indirizzo”, numPorta)
Cosa è necessario fare alla fine della comunicazione?
Chiudere tutte le socket, liberando le risorse
Cosa è un flusso di dati?
È un flusso sempre sincrono tra il mittente e il destinatario
Quali sono le pratiche per garantire una comunicazione efficiente e sicura? (Scrivile una sotto l’altra)
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
A cosa serve il buffer?
È utile per ottimizzare le operazioni di lettura e scrittura dei dati
Cosa sono le primitive di servizio?
Operazioni di basso livello che consentono la comunicazione tra il dispositivo e la rete
Quali sono i metodi principali per la comunicazione TCP della classe Socket? (Scrivili uno sotto l’altro)
connect()
getInputStream()
getOutputStream()
close()
Quali sono i metodi principali per la comunicazione TCP della classe ServerSocket? (Scrivili uno sotto l’altro)
bind()
listen()
accept()
close()
Cosa fa il metodo accept() nella classe ServerSocket?
Accetta le connessioni in entrata e restituisce un nuovo socket per la comunicazione
Qual è la funzione della classe InetAddress?
Permette di risolvere un nome di dominio in un indirizzo IP e viceversa
Quali sono i metodi principali della classe InetAddress? (Scrivili uno sotto l’altro)
getByName(“Nome Dominio”)
getHostAddress(“Nome Dominio”)
A cosa serve il multithreading?
Consente di gestire più comunicazioni simultaneamente, garantendo un aumento di performance ed efficienza