0

私はmongoDBのようなデータベースを使うことができます。しかし、私がしようとしているのは、共同してコードを作成して編集できるアプリケーションを作成することです。socket.ioとnodeJSを使用してクライアント間でデータを同期するにはどうすればよいですか?

私はコーディングが完了したら、作成したファイルを直接実行できるようにします。データベースファイルを必要なファイルに変換するためのコンバータを作成することはできますが、それはより困難で効率的ではありません。 nodeJSのwritestreamを使用すると、ファイルを読み込んで編集することができます。しかし、本当の問題は、どのようにしてサーバーとクライアント間でデータを高速で効率的に同期できますか?つまり、何百回もクライアント間で新しいデータを送信するわけではなく、更新だけです。

私が同期したいデータは、文字列をファイルとして含むオブジェクトでなければなりません。私はオブジェクトのゲッターとセッターを使用しても問題ありません。変更が行われたときにサーバー内のファイルを更新し、変更を元に戻すことができるように変更を履歴ファイルに入れます。私はマウスやキーボードだけでなく、コンソールや他のものでオブジェクトにそれらの変更を加えることができる必要があります。だから、あなたは "onkeypress"のようなイベントを利用することはできません。

回答がある場合は、例を挙げてください。 私はそれが私が望むものが明確であることを望む、これはStackOverflowのための私の最初の質問です...

+0

だから何を試しましたか? – Blasanka

+0

どこから始めたらいいかわからないので、実際に試したことはありません。私はものすごくたくさんのものを見つけましたが、主に私が試験の1週間であるため、コード自体を調べるために本当に時間をとらなかったのです。 –

+0

質問を投稿する前にこれを自分で試してみてください... Socket.IOには、読めるように膨大な量のドキュメントとリソースが用意されています。 –

答えて

0

このプラグインを試すことができます。このmantainは、子プロセス間の共有キャッシュ https://www.npmjs.com/package/node-shared-cache

+0

提案をありがとうございます。私はそれを調べなければならないだろう。また、これを使用して変更履歴を作成する方法はありますか? –