2010-07-09 9 views
1

Considérons, plusieurs utilisateurs utilisent mon application Java. J'utilise Http Common Apache pour GET/POST à ​​partir d'un serveur http pour obtenir diverses données utilisateur.Requête périodique ou autre implémentation: Java et Http

Il existe un module dans cette application cliente qui déclenche le numéro de page actuel. du document (utilisateur1 ouvert). Je veux que les autres utilisateurs (User2, User3, .... UserN) connaissent le numéro de page. Utilisateur1 ouvert.

Tous les utilisateurs doivent-ils toujours écouter/interroger le serveur HTTP dans un intervalle de temps? Je pense que ce n'est pas une bonne idée.

Comment puis-je implémenter ceci afin que le chargement sur le serveur soit réduit au minimum.

Répondre

2

Relève longue: Les clients ouvrent une connexion avec votre serveur et le serveur envoie une réponse uniquement lorsque l'utilisateur1 a modifié la page (en considérant votre exemple). Cela fonctionnera très bien si le nombre de clients pour vos applications n'est pas énorme.

Requête d'utilisateur: Si la mise à jour dynamique du numéro de page de votre application n'est pas une exigence stricte, interroger le numéro de page sera une bonne idée en fournissant un lien serait une bonne option. Cela améliorera les performances du serveur.

0

Vous devez utiliser Comet (interrogation longue) dans votre application serveur pour éviter les interrogations périodiques. J2EE 6 le supportera. Developing with Comet and Java décrit comment le faire dans J2EE 5.

Certaines autres plates-formes côté serveur ne sont pas bien adaptées à Comet (par exemple PHP).