0

Je sais que je pourrais simplement utiliser une base de données comme mongoDB. Mais ce que j'essaye de faire est de créer une application où vous pouvez créer et éditer des codes en collaboration. Maintenant que j'ai terminé le codage, je veux être en mesure d'exécuter les fichiers créés directement. Je pourrais créer un convertisseur pour convertir le fichier de base de données aux fichiers que je veux, mais ce serait plus difficile et inefficace. Avec les flux d'écriture dans nodeJS, je serais capable de lire et d'éditer des fichiers. Mais la vraie question est: Comment puis-je synchroniser les données entre le serveur et ses clients de manière rapide et efficace? Ce qui signifie que je ne vais pas envoyer les nouvelles données entre les clients des centaines de fois, mais seulement les mises à jour.Comment puis-je synchroniser des données entre des clients à l'aide de socket.io et de nodeJS?

Les données que je veux synchroniser doivent être un objet contenant des chaînes en tant que fichiers. Je vais bien à l'aide de getters et setters pour l'objet. Il devrait mettre à jour les fichiers dans le serveur lorsqu'une modification est apportée, et également mettre la modification dans un fichier d'historique afin que vous puissiez annuler les modifications. Je dois être capable de faire ces changements à l'objet avec la console ou d'autres choses que la souris et le clavier. Vous ne pouvez donc pas simplement utiliser des événements comme "onkeypress".

Veuillez avoir un exemple avec des réponses. J'espère que c'est clair ce que je veux, c'est ma première question sur StackOverflow donc ...

+0

Alors qu'avez-vous essayé? – Blasanka

+0

Je n'ai pas vraiment essayé quoi que ce soit parce que je ne sais vraiment pas par où commencer. J'ai cherché une tonne de trucs mais je n'ai pas vraiment pris le temps de regarder le code lui-même, surtout parce que je suis dans une semaine d'examens. –

+0

Vous devriez vraiment avoir essayé vous-même avant de poster la question ... Socket.IO a une énorme quantité de documentation et de ressources disponibles pour vous de lire à travers. –

Répondre

0

Vous pouvez essayer d'utiliser ce plugin. Ce mantain un cache partagé entre le processus de l'enfant https://www.npmjs.com/package/node-shared-cache

+0

Merci pour la suggestion. Je vais devoir regarder dedans. Aussi, est-il possible de faire un historique des changements en utilisant ceci? –