Concetti Chiave
- ClientSocketManager è una classe che permette di aprire un socket verso un'applicazione specifica, impostando host e porta.
- I metodi principali della classe includono inviaRichiesta per inviare messaggi, riceviRisposta per ricevere risposte, e chiudi per chiudere il socket.
- Il protocollo ECHO è uno dei più semplici e restituisce lo stesso testo inviato come risposta.
- Il protocollo HTTP è importante per il suo formato strutturato, comprendente linea iniziale, intestazioni, linea bianca e corpo del messaggio.
- L'uso tipico della classe prevede l'apertura di un socket, l'invio di una richiesta, l'attesa di una risposta e la chiusura del socket.
Clientsocketmanager
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”. 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);