Comment le document Google peut-il savoir qu'un utilisateur modifie le même document en même temps? Comment peut-il synchroniser les docs? Est-il vrai que Google continue à tirer sur le serveur, et vérifier ce que fait l'autre gars dans le même document, et utiliser le js pour rendre le résultat? Des idées là-dessus? Je vous remercie.Comment Google met-il en œuvre la modification de plusieurs utilisateurs dans Google Docs?
4
A
Répondre
3
Oui, Google utilise HTTP Long-polling pour créer une connexion ouverte à leurs serveurs à partir du navigateur. Dès qu'ils reçoivent une mise à jour de quelqu'un, ils la transmettent à tous ceux qui ont une connexion ouverte. Ensuite, utilisez Javascript pour le remplir dans la vue actuelle.
1
oui. c'est vrai. en fonction de la version de votre navigateur, il fait des requêtes continues (vous pouvez même les regarder avec des applications comme httpfox ou quelque chose) ou utiliser un flux de socket
et quel algorithme est utilisé pour synchroniser les modifications potentiellement contradictoires (et la sélection, etc.)? (FIFO?) – n611x007
@naxa: Transformation opérationnelle (http://en.wikipedia.org/wiki/Operational_transformation). Ce n'est pas vraiment un algorithme mais beaucoup, et je vous invite vraiment à utiliser une bibliothèque au lieu d'essayer de l'implémenter vous-même. Le cadre le plus chaud qui implémente OT en ce moment est Meteor.js. Essayez-le! –