Quelle est la meilleure façon de mettre en œuvre un site Web où les utilisateurs peuvent interagir ensemble

StackOverflow https://stackoverflow.com/questions/2649631

Question

Je crée un site Web où les utilisateurs pourront discuter et envoyer des fichiers à un autre via un navigateur. J'utilise GWT pour l'interface utilisateur et hiverne avec Gilead pour se connecter à une base de données principale de MySQL.

Quelle serait la meilleure stratégie à utiliser afin que les utilisateurs peuvent interagir ensemble?

Était-ce utile?

La solution

Je dirais que vous êtes à la recherche de la comète / AJAX | Server push / etc. Voir ma réponse précédente à ce sujet pour quelques conseils. Fondamentalement, vous simulez inverser la communication entre le serveur et le client - c'est le serveur qui est initier la connexion ici, car il veut, par exemple, informer l'utilisateur que son / son ami vient de passer en ligne, etc.

Les mises en œuvre de ce changement technique assez rapidement, donc je ne ferai aucune recommandation définitive - choisir celui qui correspond le mieux à vos besoins:)

Autres conseils

COMET est la technologie qui permet de discuter sur une page Web - Il communique essentiellement par des connexions keep-alive. Ceci permet aux serveurs de pousser l'information au client. Il existe plusieurs implémentations de ce sur le côté client avec GWT. La plupart des serveurs prennent en charge de nos jours cela, il fait également partie de la spécification Servlet 3.0 (que personne n'a encore mis en œuvre)

Alors que COMET est très agréable, ce n'est pas la seule solution! vote habituel avec des intervalles de temps (par opposition aux sondages COMET long) est encore couramment utilisé. Il est également possible d'exiger une actualisation manuelle par l'utilisateur.

Prenez Stackoverflow comme un exemple - pour la plupart des choses que vous devez actualiser manuellement votre navigateur pour voir les changements. Je pense, il est communément perçu comme normal et attendu. sondages COMET ou fréquents sont un atout supplémentaire.

Le problème avec COMET est, qu'il peut facilement conduire à beaucoup de discussions sur le serveur. Sauf, si vous utilisez en outre le traitement asynchrone (également appelé « Advanced IO »), ce qui est trop bien encore pris en charge (par exemple ne fonctionne pas avec le protocole HTTPS dans Glassfish v3 en raison d'un bug grave), peut entraîner des problèmes avec Apache connecteurs etc. .

Le problème avec l'interrogation fréquente est qu'il crée un trafic supplémentaire. Ainsi, il est souvent nécessaire de rendre le vote moins fréquentes, ce qui rendra moins pratique pour l'utilisateur final.

Vous devrez peser les options de votre situation particulière.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top