開示:私はフェイの著者です。
- あなたが言ったことはすべて真です。
- FayeはBayeuxのほとんどを実装していますが、現在欠けているのはサービスチャネルだけです。これは私がまだ有用性を確信していないものです。特にFayeは、以下に大きな影響を与えるBayeuxのCometDリファレンス実装と互換性があるように設計されています。
- 概念的には、はい:Faye はSocket.IOを使用できます。実際には、これにいくつかの障壁があります:
- 私はどのような種類のサーバーサイドソケットSocketをサポートしているのか分かりません。IOが必要であり、Fayeクライアント(ノードとRubyのサーバ側クライアントがあることを覚えておいてください)がBayeuxサーバ(とBayeuxクライアントのFayeサーバ)と話すことができることが条件です。
- バイユーには、サーバーとクライアントが特定のトランスポートタイプをサポートするという特定の要件があり、どちらを使用するかをどのように交渉するかが示されています。また、XHR要求のContent-Typeがコンテンツの解釈方法に与える影響など、コンテンツの使用方法も指定します。
- エラー処理の種類によっては、トランスポートに直接アクセスする必要があります(例:resending messages when a client reconnects after a Node WebSocket dies)。
- これが間違っていたら私を修正してください。これは、Socket.IOのマニュアルの大まかなスキャンに基づいています。
フェイはちょうど/サブパブです
- 、それはちょうど少し複雑なプロトコルに基づいており、内蔵の細かな点をたくさん持っていますが:
- サーバー - クライアント側の拡張
- ワイルドカードパターンマッチングチャンネル上のルート
- 自動再接続、たとえばノードとRubyにWebSocketを死ぬか、サーバーがオフラインになっ
- クライアントは携帯電話で、すべてのブラウザで動作し、サーバ側のとき
フェイは、おそらくジャガーノート理由ジャガーノートに比べて、より多くの複雑に見えますより多くの代表者Socket.IOへの転送ネゴシエーションとRedisへのメッセージルーティングを委任します。これらはどちらも素晴らしい決定ですが、Bayeuxを使用するという私の決断は、自分でもっと仕事をしなければならないということです。
デザインの考え方として、フェイの最優先目標は、Webが利用できるあらゆる場所で動作する必要があり、進化するためには絶対に自明でなければならないということです。私は本当にシンプルですが、その拡張性は非常に強力な方法でカスタマイズできることを意味します。たとえば、認証拡張機能を追加することで、それをサーバーツークライアントプッシュサービスにすることができます。
サーバ側で柔軟性を高める作業も進行中です。私はクラスタリングのサポートを追加し、コアのpub-subエンジンをプラガブルにして、RedayやAMQPのような別のpub-subシステムのためのステートレスなWebフロントエンドとしてFayeを使うことができるようにしています。
これは役に立ちましたと思います。
ジャガーノートは廃止されました。なぜhttp://blog.alexmaccaw.com/killing-a-libraryを読んでください。 – Maziyar
HTML 5 Server-Sentイベントは、Juggernautの著者 – Harindaka