31 votes

comment implémenter facebook comme notification?

Je suis en train de mettre en œuvre un Facebook-like live systèmes de notifications pour informer les utilisateurs à chaque fois que quelqu'un ajoute comme ami, comme la poste ou les postes des réponses à leurs commentaires.

Tous la base de données et PHP partie est fait, mais je ne peux pas comprendre comment le mettre en œuvre comme Facebook l'a fait.

Chaque fois que quelqu'un aime/commentaire sur votre message dans Facebook la lumière bleue apparaît dans le coin inférieur gauche de l'écran. Cela se produit dès que quelqu'un frappe comme bouton ou à des postes de commentaires de Facebook. Je voudrais savoir ce que je dois faire pour le mettre en œuvre.

À l'aide de YUI ou de tout framework JavaScript je peux interroger une table de base de données après l' n secondes afin de vérifier les notifications. Cette méthode est trop lourd.

Je me demandais si il n'y a aucun serveur de mod ou de script qui peut être fait de sorte que chaque fois que de nouvelles notification entrée dans ma table de base de données le serveur va dire que client particulier. De cette façon, inutile de demander à des appels à partir du serveur vers le client sera évité complètement, et le système peut fonctionner de manière efficace pour le site web avec plus de 50 000 utilisateurs en ligne à un moment.

Comment puis-je y parvenir?

23voto

Matthew Flaschen Points 131723

Vous devriez vous pencher sur les techniques COMET , telles que le cadre pour toujours ( tutoriel ) et l'interrogation longue. Cela vous permet d'avoir une forme de communication push serveur -> client.

5voto

Samudra Points 180

Je suis vraiment surpris que personne n'ait mentionné PubNub et Pusher

Ces deux (concurrents) construisent une infrastructure qui permet des notifications en temps réel, tout comme Facebook.

2voto

Dead Programmer Points 5428

0voto

emre kocyigit Points 9

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

-8voto

Bleaourgh Points 19

La seule façon de le faire est d'avoir une sorte de mécanisme (par exemple Javascript) pour interroger à plusieurs reprises le serveur pour les mises à jour. Il n'est pas possible de pousser le serveur vers les navigateurs Web.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X