J'essaie de mettre en œuvre un système de notifications en direct de type Facebook pour informer les utilisateurs chaque fois que quelqu'un les ajoute comme ami, comme leur publication ou leurs réponses à leurs commentaires.
Toute la base de données et la partie PHP est terminée, mais je ne sais pas comment l'implémenter comme Facebook l'a fait.
Chaque fois que quelqu'un aime/commente votre publication sur Facebook, la boîte bleu clair apparaît dans le coin inférieur gauche de l'écran. Cela se produit dès que quelqu'un clique sur le bouton ou publie un commentaire sur Facebook. Je voudrais savoir ce que je dois faire pour mettre cela en œuvre.
En utilisant YUI ou tout autre framework JavaScript, je peux interroger une table de base de données après n
secondes pour vérifier les notifications. Cette méthode est trop lourde.
Je me demandais s'il y avait un mod côté serveur ou un script peut être fait pour que chaque fois qu'il y a une nouvelle entrée de notification dans ma table de base de données, le serveur le dira à ce client particulier. De cette façon, les appels de demande inutiles du client au serveur seront évités complètement et le système peut fonctionner efficacement pour le site Web avec plus de 50 000 utilisateurs en ligne à la fois.
Comment puis-je atteindre cet objectif?
Vous devriez vous pencher sur les techniques COMÈTE , telles que toujours cadrer ( tutoriel ) et les longs sondages. Cela vous permet d'avoir une forme de communication push serveur -> client.
Vous définissez une demande, comme appeler le service qui demande à votre serveur/db les notifications de cet utilisateur. Vous pouvez faire une boucle while qui réessaye s'il n'y a pas de notification (peut-être Thread.Sleep
entre les recherches). Votre demande js expirera, puis vous pourrez appeler à nouveau la fonction dans le délai. Cela signifie un long vote afaik