0

複数のユーザーがブレーンストーミングなどのために入力および編集できるキャンバスを作成してみたいと思います。phpをバックエンドとして考えています。それにはどのような技術が使われていますか?たとえば、純粋なテキストとしましょう。google wave(b4) や google doc のようにテキストを更新するにはどうすればよいですか?

websocket(またはjsプーリング)を使用してテキストファイルを更新しているだけですか? または、この問題を解決するためのより良い論理的な方法はありますか?

4

2 に答える 2

1

Websocketはこれを実現する方法です。ただし、PHPでの実装は難しく、現時点では多くのブラウザでサポートされていません。PHPを使用するとAJAXリクエストのロングポーリングを非常に簡単に行うことができますが、リソースの浪費になる可能性があります。

これはあなたが探しているものではないかもしれませんが、サーバー側のテクノロジーを変更することをお勧めします。Node.jsをSocket.IOと一緒に使用すると、 Websocketを簡単に使用できます(または、Websocketをサポートしていないブラウザー用にWebsocketをエミュレートするように見えます)。これにより、ユーザーにデータをプッシュするための最速の方法が提供されます。

于 2012-07-15T17:46:46.777 に答える
1

まあ、ブラッドの答えで言われているほど簡単ではありませんが、彼は部分的に正しいです。それを実現するには、今日、間違いなく WebSockets が必要です。しかし、当然のことながら、共同作業環境を作成するのはそれほど簡単ではありません。すべてのユーザーの変更を、同じドキュメントを表示している他のすべてのユーザーにブロードキャストするなどの問題があります。次に、誰がいつ何を変更しても、すべてのユーザーがまったく同じものを見ることができるようにする必要があります。複数のユーザーが同じドキュメントで共同作業している場合、これは困難になります。互いの変更をマージする際に競合が発生する可能性があります。

PHP に関する限り、言語は実際には問題ではありません。上記の問題をどのように処理するかです。

Google は Google Wave で研究とエンジニアリングの詳細を公開しました (プロジェクトを放棄した後だと思います)。次のリンクが参考になるかもしれません: http://www.waveprotocol.org/whitepapers/

于 2012-07-15T18:49:09.017 に答える