OFFluke.dev ha scritto:
Allora ho un problema
attualmente il mio prof non spiega
Sì ... questo è già un (bel) problema ...
OFFluke.dev ha scritto:
ci ha chiesto di creare un progetto dove chiede la comunicazione tra due pc tramite un server tutti e tre sulla stessa lan.
[...]
Si vuole realizzare un applicativo Java per gestire la comunicazione testuale tra due utente in rete.
Nello specifico i due utenti devono poter scambiare messaggi di testo e devono poter registrare su
file la conversazione effettuata.
Qui è bene chiarire una cosa. ServerApp la PUOI(/
devi) modificare tu? O quella è stata data così come è senza poterci fare nulla?
Il punto è che per come hai descritto lo scenario, viene da pensare che:
- c'è un PC "S" (Server) con la JVM che esegue la classe ServerApp.
- poi puoi avere un PC "A" con una JVM che esegue la ClientApp
- e un altro PC "B" distinto (o al limite lo stesso, per prova) con un'altra istanza della JVM che esegue sempre ClientApp.
E quindi se il client "A" invia qualcosa al server per il client "B", il server dovrebbe avere l'architettura giusta per "girare" il messaggio verso B.
La questione è: quella classe ServerApp NON sta facendo nulla di tutto questo, non è in grado di far comunicare DUE client distinti. Al momento, ServerApp fa una cosa banale: riceve una stringa, la mette in upper-case e la ributta indietro allo stesso client.
E oltretutto è solo un server "iterativo", non è nemmeno "concorrente" ("multi-threading").
E ... quindi??