Ma_fack
Ominide
1 min. di lettura
Vota 5 / 5

Concetti Chiave

  • La comunicazione lato server diventa più complessa con più client, ma è semplice con un solo utente.
  • Un socket viene aperto su una porta TCP per gestire le richieste, elaborare e inviare risposte.
  • La classe SimpleServerSocketManager gestisce i socket server, ascoltando sulla porta specificata.
  • I metodi principali della classe includono ricevere richieste, inviare risposte e chiudere il socket.
  • Il processo di comunicazione tra server e client include attivazione, invio/ricezione di richieste e risposte.

Parte server

Vista dalla parte server la comunicazione potrebbe essere più complessa; infatti se ci trovassimo nel caso di gestire più di un client la cosa risulterebbe leggermente più difficile. Se tuttavia dobbiamo gestire solo un utente per volta allora la cosa si fa semplice, infatti si procederebbe in questa maniera:
- Su una porta TCP viene aperto un socket e si rimane in attesa di una richiesta;
- Una volta raggiunto da una richiesta il server procede con l’elaborazione e invia la risposta prodotta;
- Il socket viene chiuso e si ricomincia da capo;

Per il lato server si può utilizzare la classe SimpleServerSocketManager il cui costruttore è:

SimpleServerSocketManager (java.lang.String port)

Ogni volta che andiamo a creare un nuovo oggetto della classe, un socket viene messo in ascolto sulla porta “port” del calcolatore in cui è in esecuzione l’applicazione lato server.

I metodi della classe sono:
- .riceviRichiesta () = riceve la richiesta dal client connesso attraverso il socket;
- .inviaRisposta (java.lang.String msg) = invia la risposta prodotta, al client connesso attraverso il socket;
- .chiudi () = chiude il socket;

Ora che abbiamo capito il funzionamento di entrambi i lati, server e client, possiamo riassumente la loro comunicazione così:
1. Server = attiva il server creando il socket;
2. Client = attiva il client creando il socket;
3. Client = invia una richiesta;
4. Server = riceve la richiesta;
5. Server = elabora la richiesta e produce la risposta;
6. SERVER = invia la risposta;
7. Client= riceve la risposta;
8. Client= elabora la risposta e la presenta all’utente;

Domande e risposte

Hai bisogno di aiuto?
Chiedi alla community