Question

Juste curieux. Comment fonctionne exactement la discussion dans un navigateur? Généralement, si un utilisateur accède à une page Web, son navigateur Web demande le contenu de la page. Un serveur produit une sortie et l'envoie à l'ordinateur de l'utilisateur. Mais avec la conversation, c'est un peu l'inverse (enfin, pas exactement). Ce n'est pas l'utilisateur qui demande un message de discussion à un serveur, mais le serveur qui l'envoie directement. Maintenant, c’est très simple à réaliser avec un "normal" serveur, mais la chose que le serveur envoie à un navigateur me confond directement. L'envoi de la partie message est clair, c'est simple. Vous postez simplement les données sur le serveur avec par exemple ajax ou quelque chose. Mais comment l’autre ordinateur sait-il instantanément qu'un message a été écrit? Ce doit évidemment être le serveur l'envoyant à l'autre ordinateur dès qu'il a été écrit. Mais d'une manière ou d'une autre, cela ne se calcule pas dans mon cerveau. Dans mon cerveau, le navigateur ne demande que des choses, il ne les comprend pas seulement. Comment faites-vous cela exactement?

Prenez Google Talk dans Gmail par exemple. Comment ça marche? Comment est-il mis en œuvre?

Était-ce utile?

La solution

Il existe certaines technologies Push , telles que Comet , mais elles ne sont pas largement implémentées. La plupart du temps, cela s'effectue via interrogation à un petit intervalle avec AJAX et en téléchargeant tout nouveaux messages disponibles depuis le dernier message téléchargé.

Autres conseils

Jetez un coup d'oeil à Comet

Orbited est un bon moyen de mettre cela en œuvre, il utilise des méthodes Comet. Vous pouvez trouver un tutoriel ici .

Quelqu'un a parlé de l'interrogation ajax, mais comet est toujours mieux que de voter . Eh bien, c’est juste un titre sensationnaliste, mais comet est définitivement plus approprié et peut entraîner moins de stress du côté serveur, avec le bon back-end.

Il utilise AJAX , un javascript côté client exécuté sur le GMail. Le navigateur de l'utilisateur envoie et reçoit les messages du serveur Google. Il les écrit dans la fenêtre du navigateur. Aucune recharge de la page n'est requise.

J'ai développé un chat sur navigateur similaire à la technologie de chat Facebook ( http://chatsign.com ). Ce n'est pas une technologie push mais quelque chose de mieux que polling, son appel ajax long polling.

Pour plus d'informations sur ajax long polling, vous pouvez effectuer des recherches ou consulter le site: http://techoctave.com/c7/posts/60-simple-long-polling-example-with-javascript-and-jquery

Les applications de chat modernes utilisent les événements SSE (Server Sent Events: une fonctionnalité de html5) pour envoyer de nouveaux messages aux navigateurs

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