Je suis en train de créer une petite boîte à lettres/chat AJAX pour mon site Web, mais je ne sais pas exactement comment mettre en œuvre l'interrogation du serveur.
Voici le déroulement du programme de base auquel je pense :
- L'utilisateur arrive sur la page et voit les 10 derniers messages.
- Pour obtenir des messages envoyés par d'autres personnes, le client javascript demande une URL avec un paramètre d'horodatage (fixé à la valeur du dernier message reçu par le client).
- Le serveur renvoie tous les messages (jusqu'à un maximum de 10) depuis cet horodatage.
Le seul problème est de savoir à quelle fréquence il faut interroger le serveur. Il est évident qu'il devrait interroger le serveur à chaque fois qu'un nouveau message est ajouté, mais lorsque vous ne faites que lire les messages des autres, il doit être mis à jour automatiquement.
Devrait-il s'agir d'une limite de temps fixe ? par exemple : toutes les 10 secondes. Ou bien, doit-il varier en fonction de l'utilisation ? ex : Vérifier après 5 secondes. S'il n'y a pas de messages, ne pas vérifier avant 10 secondes. S'il n'y a toujours pas de nouveaux messages, vérifier après 15 secondes, puis 20, jusqu'à peut-être une fois toutes les 30 secondes maximum. Chaque fois qu'un nouveau message est détecté, remettez votre minuteur à 5 secondes et recommencez.
Je crains simplement de soumettre le serveur à un stress inutile, étant donné que des centaines d'utilisateurs pourraient être en ligne simultanément.
...ou est-ce que j'ai tout faux ? Existe-t-il une meilleure façon d'implémenter un chat javascript de base ?