0

私が開発を支援している Web アプリケーションは、よく知られた問題に直面しています。ユーザーに、いつでも発生する可能性のあるさまざまなイベントなどを基本的にランダムに知らせ、それに応じてビューを更新できるようにしたいのです。基本的に、クライアントがサーバーに要求するのではなく、サーバーが個々のクライアントに要求をプッシュできるようにする必要があります。

WebSockets は問題に対処するための取り組みであることを理解しています。ただし、それらを少し調べてみると、a) 現在、ネイティブの websocket サポートを提供している web ブラウザーはほとんどないことがわかりました。b) これを回避するには、フラッシュ ソケットまたはある種の AJAX ロング ポーリングを使用します。c) 特別な Websockets サーバーを使用する必要があります。

今、私たちは Flash なしでサービスを提供したいと考えています。また、あらゆる種類のサーバーには、何らかの負荷分散機能、または少なくとも負荷分散を実行できるソフトウェアが必要です。

2008 年の時点で、Comet ベースのソリューション (Bayeux など) がこの種の状況に適していると誰もが言っていました。しかし、それ以来、さまざまなプロトコルに多くの作業が行われていないようです。これが (最終的に) 問題につながります。

バイユー風味のコメットは、今でもこのような仕事に適したツールですか? そうでない場合、何ですか?

4

2 に答える 2

1

動作することが証明されている Comet/Bayeux の代替手段は、ejabberd や OpenFire などの XMPP サーバーと、Jack Moffitt (彼の Web サイトはhttp://metajack.im/ ) によって開発された StropheJS の組み合わせです。XMPP の制限は、バイナリ ペイロードではなくテキストのみを転送できることです。

于 2010-06-18T04:46:11.313 に答える
0

WebSockets はあなたの問題に対する理想的な解決策のように思えます.comet/bayeux パスに行くことはお勧めしません. 最初の 2 つの懸念事項について:

a) 現在、ネイティブ WebSocket サポートを提供している Web ブラウザはほとんどありません

WebSocket サーバーは、ネイティブの WebSocket サポートを持たないブラウザーにエミュレーション技術を提供する傾向があります。ここでは、ベンダーの 1 つである Kaazing が提供するエミュレーションについて読むことができます [免責事項: 私は Kaazing で働いています]

b) [WebSocket エミュレーションの使用] フラッシュ ソケットまたはある種の AJAX ロング ポーリング

そうではありません。エミュレーションをうまく行うのは簡単ではありませんが、可能です。ロングポーリングはほとんど最後の手段です。たとえば、Kaazing ゲートウェイは常に、長いポーリングよりも優れたエミュレーションを使用します。

Kaazing は WebSocket ゲートウェイの XMPP エディションも提供しており、JavaScript 環境から直接 XMPP を使用して HTML5 アプリを構築できます。XMPP の基盤となるトランスポート層は WebSocket (ネイティブまたはエミュレート) です。

于 2012-02-15T22:07:19.803 に答える