1

「ブレインストーミング」用の Web アプリを作成しています。基本的に、ユーザーはアプリにアクセスしてチャレンジを送信するか、既にあるチャレンジをクリックして、そのチャレンジを解決するためのアイデアを考え出し、投稿することができます。ここで、couchdb で基本的な例をハックしました: http://wamoyo.iriscouch.com/ideageneration/_design/IdeaGeneration/attachments%2findex.html

私はそれをゼロから再構築するつもりであり、私にとって非常になじみのない課題に直面しています. 複数のユーザーが同時に同じ課題のアイデアを生成できるようにしたいと考えています。Google ドキュメントで複数の人が共有ドキュメントを編集できるようにする方法のようなものです。これについてどうするかについて予備的な考えがありますが、ここで専門家ネットワークに尋ねてみようと思いました.

私は AJAX にかなり慣れています。AJAX をライブでマルチユーザーにするための純粋な方法はありますか? node.js を使用することには大きな利点がありますか? 他のオプションは何ですか?

どうもありがとう!

4

1 に答える 1

4

このような Web ページを作成するには、単純な ajax ポーリング、ロング ポーリング、および Web ソケットを使用する方法がいくつかあります。

  • Ajax ポーリング - 簡単に実装できます。基本的には、JavaScript タイマーを介してサーバーに繰り返し接続し、サーバーからデータを取得して、通常の Ajax を介して送り返します。

    • 利点: 実装が簡単で、どこでも機能します
    • 欠点: 更新はリアルタイムではなく、データはタイマーが作動したときにのみ交換されます。
  • ロング ポーリング- 接続がタイムアウトになるまで開いたままになり、接続が再確立されるという考え方です。Web サーバーやルーターなどによって要求タイムアウトの設定が異なるため、実装が難しい場合があります。

  • Web ソケット- HTML5 アンブレラの一部であり、かなり最新のブラウザーでのみ機能します。プロトコルは頻繁に変更されるため、開発および運用中に非互換性が生じる可能性があります。最新のブラウザでネイティブに使用でき、古いブラウザでは Flash プラグインを介して使用できます。このテクノロジは、すべての HTTP オーバーヘッドを発生させないため、最も軽量です。これは、TCP を介したブラウザと Web サーバー間の双方向の全二重通信チャネルと考えてください。

詳細な議論については、Scott Hanselman によるこの優れた投稿を読むことをお勧めします。SignalR について説明していますが、他のサーバー側フレームワークにも適用できます。

同じ著者によるポッドキャストもあり、ゲストはこれらのテクノロジーについてかなり深く説明しています。聞く価値があります、IMO。

node.js に関する質問に答えるために、現在のサーバー テクノロジを教えてください。スタックについてより多くの洞察を得ることができます。

于 2012-03-12T06:20:09.867 に答える