Qual è il modo migliore per attuare un sito web dove gli utenti possono interagire insieme
-
27-09-2019 - |
Domanda
Io sono la creazione di un sito web in cui gli utenti saranno in grado di chattare e inviare file tra di loro attraverso un browser. Sto usando GWT per l'interfaccia utente e Hibernate con Gilead per connettersi a un back-end database mysql.
Quale sarebbe la strategia migliore per l'uso in modo Gli utenti possono interagire insieme?
Soluzione
Direi che siete alla ricerca di una cometa / AJAX | Server push / etc. Vedere la mia risposta precedente in materia di alcune indicazioni. In sostanza si sta simulando invertendo la comunicazione tra server e client - è il server che sta avviando la connessione qui, dal momento che vuole, per esempio, informare l'utente che il suo / la sua amica appena andato on-line, ecc
Le implementazioni di questo cambiamento tecnica abbastanza rapidamente, quindi non farò alcuna raccomandazione definitivi - scegliere quello che meglio si adatta alle tue esigenze:)
Altri suggerimenti
COMET è la tecnologia che permette di chattare su una pagina Web - Si tratta essenzialmente comunicando tramite connessioni keep-alive. Ciò consente ai server di inviare informazioni al cliente. Ci sono diverse implementazioni di questo sul lato client con GWT. La maggior parte dei server al giorno d'oggi supportano questo, è anche parte delle specifiche Servlet 3.0 (che nessuno ha ancora attuato)
Mentre COMET è molto bello, non è l'unica soluzione! polling al solito con intervalli di tempo (al contrario di polling lungo COMET) è ancora comunemente usato. E 'anche possibile richiedere un aggiornamento manuale da parte dell'utente.
Prendere StackOverflow come esempio - per la maggior parte delle cose è necessario aggiornare manualmente il browser per vedere i cambiamenti. Penso, è comunemente percepito come normale e previsto. COMET o polling frequente sono un ulteriore vantaggio.
Il problema con la cometa è, che può facilmente portare a un sacco di discussioni sul server. Tranne, se si utilizza inoltre l'elaborazione asincrona (chiamata anche "Advanced IO"), che non è ancora troppo ben supportato (ad esempio, non funziona con HTTPS in v3 Glassfish a causa di un grave bug), può portare a problemi con Apache connettori ecc .
Il problema di polling frequente è, che crea ulteriore traffico. Quindi, è spesso necessario per rendere il polling meno frequenti, che renderà meno conveniente per l'utente finale.
Quindi, si dovrà valutare le opzioni per la vostra situazione particolare.