Quels sont les protocoles TCP sont utilisables pour le client à la communication client?
-
11-09-2019 - |
Question
clients Manytimes demandent des fonctionnalités telles que la messagerie instantanée (IM) et autres moyens de communication client-à-client (P2P) pour leurs applications Web. En règle générale comment cela se fait dans les navigateurs web normaux? Par exemple, j'ai vu des démonstrations de de Google Wave (et Gmail) qui sont en mesure de messagerie instantanée à partir d'un navigateur régulier . Est-ce via HTTP? Ou est-XMLHttpRequest (AJAX) fournir le back-end nécessaire pour une telle communication?
Plus de tout ce que je me demande comment un serveur « réveil » le client à distance, permet de dire pour envoyer un message instantané? Ou le client devra garder « polling » le serveur de messages pour les nouveaux messages instantanés?
La solution
En général, le navigateur interroge le serveur pour les nouveaux messages. Une approche qui est souvent fait pour le rendre plus efficace est le « à long sondage » (voir aussi ce lien ) - le serveur répond immédiatement si elle a quelque chose; sinon, il attend, en gardant la connexion ouverte pendant un certain temps. Si un message arrive, il se réveille immédiatement et l'envoie, sinon il revient avec un « Nope, revenez » après quelques dizaines de secondes. Le client les recompose immédiatement à revenir dans l'état à long polling.