私は、javascript を使用したサーバー プッシュについていくつか調査を行いましたが、私が探しているのは "Comet" デザイン パターンにあるという一般的なコンセンサスが得られました。jQuery の上に構築されたこのパターンの適切な実装はありますか? そうでない場合、このパターンの適切な実装はありますか? これらの質問への回答に関係なく、実装の観点から見たこのパターンに関するドキュメントはありますか?
8 に答える
Tillが言及したプラグインを作成しました。プラグインはBayeuxプロトコルの実装であり、現在、ロングポーリング(AJAX経由のローカルサーバー)とコールバックポーリング(XSS経由のリモートサーバー)をサポートしています。私のプラグインが動作することを聞いたcometd-twistedと呼ばれるPythonのBayeux実装がありますが、これを検証していません。jQueryCometの例が含まれているcometd-jettyおよびerlycometで動作することをテストおよび検証しました。私のブログには詳細があり、基本的なチャットの例を含む現在のコードは、そのgoogleコードページにあります。この情報がお役に立てば幸いです。プラグインについてさらにサポートが必要な場合は、お気軽にご連絡ください。
誰かがjQuery を使用して Comet のクライアントを作成しました。いいかどうかはわからないけど。私は Comet について読んだことがあり、Comet ができるすべての利点について聞いたことがありますが、それを使いこなすことはできませんでした。私の現在のプロジェクトには時間がなく、ユースケースもありませんでした。
comet の実装に関するリンクを追加するのを完全に忘れていました。
コメットデイリーがあり、オンラインで比較しています。この比較では、異なる実装の成熟度が強調されています。これは非常に興味深いので、すぐに始められるはずです。
それが役立つことを願っています!
コメット パターンを実装する完全なクライアントおよびサーバー サイド ソリューションについては、 Ape Projectを参照してください。
Cometは優れたソリューションであり、あらゆる種類の実装があります。どちらがあなたのニーズに依存します。
IIS / ASP.NET、WebSyncのソリューションを実装しました。これには、jQueryとうまく連携するjavascriptクライアントが含まれています。技術的には、これはBayeuxプロトコルであるため、すべてのBayeuxクライアントは正常に機能するはずです。同じプロトコルは、dojoライブラリにもあります。
詳細については、Bayeuxプロトコルの仕様を参照してください。
コメットを使い始めるための非常に簡単な例をここに示します。NHPM モジュールを使用した Nginx のコンパイルについて説明し、jQuery、PHP、および Bash での単純なパブリッシャー/サブスクライバー ロールのコードが含まれています。
http://blog.jamieisaacs.com/2010/08/27/comet-with-nginx-and-jquery/
実際の例 (簡単なチャット) は、http:
//cheetah.jamieisaacs.com/にあります。
JQueryを使用している場合は、jquery-streamをお勧めします。私は現在プロジェクトでjquery-streamを使用していますが、これまでのところ、信頼性が高く、十分に文書化されており、アクティブなGoogleコードプロジェクトがあります。