Concetti Chiave
- Il costruttore ClientSocketManager richiede un host e una porta per aprire un socket verso il server specificato.
- I metodi principali della classe includono inviaRichiesta per inviare messaggi, riceviRisposta per ricevere risposte e chiudi per chiudere il socket.
- Il flusso di lavoro tipico prevede l'apertura del socket, l'invio di una richiesta, la ricezione della risposta e la chiusura del socket.
- Il protocollo ECHO è semplice e restituisce il messaggio inviato, ma la classe supporta anche il protocollo HTTP per comunicazioni più complesse.
- Il protocollo HTTP include una struttura di richiesta e risposta formata da una linea iniziale, intestazioni, una linea bianca e contenuto del messaggio.
Il costruttore della classe è:
ClientSocketManager (java.lang.String host, java.lang.String port)
Attraverso questa classe, una volta impostati l’host name o indirizzo IP e la porta, ogni volt ache si va a creare un oggetto di questa si apre un socket verso l’applicazione in ascolto sulla porta “port” del calcolatore “host”.
Metodi della classe ClientSocketManager
I metodi che accompagnano la classe sono:
- .inviaRichiesta (java.lang.String msg) = invia una richiesta, come stringa, al server connesso attraverso il socket;
- .riceviRisposta () = riceve la risposta prodotta dal server connesso attraverso il socket;
- .chiudi () = chiude il socket;
Quando si utilizza questa classe, solitamente, si procede nel modo seguente: apro un socket, invio una richiesta al server mettendomi così in attesa, ricevo la risposta dal server e infine chiudo il socket. L’importante è ora che tipo di richiesta eseguire e uno dei protocolli più semplici è ECHO che si limita a ritornare lo stesso testo d’invio.
ECHO tuttavia non è l’unico protocollo infatti molta importanza la riveste il protocollo HTTP che è caratterizzato dal fatto che sia la richiesta che la risposta hanno lo stesso formato generale, ossia:
- Una linea iniziale;
- Zero o più linee d’intestazione (Header);
- Una linea bianca;
- Zero o più linee do contenuto del messaggio (BODY);
Domande da interrogazione
- Qual è la funzione principale della classe ClientSocketManager?
- Quali sono i metodi principali della classe ClientSocketManager e cosa fanno?
- Quali protocolli possono essere utilizzati con la classe ClientSocketManager?
La classe ClientSocketManager consente di aprire un socket verso un'applicazione in ascolto su un determinato host e porta, permettendo di inviare richieste e ricevere risposte dal server connesso.
I metodi principali sono .inviaRichiesta, che invia una richiesta al server; .riceviRisposta, che riceve la risposta dal server; e .chiudi, che chiude il socket.
Oltre al protocollo ECHO, che restituisce lo stesso testo inviato, la classe supporta anche il protocollo HTTP, caratterizzato da una struttura specifica di richiesta e risposta.