2011-04-01 8 views

答えて

9

WebSocketサポートとフォールバックロングポーリングソリューションを備えたライブラリは、おそらくブラウザ側のクライアントだけでなく、サーバー側の技術にも依存します。たとえば、socket.ioを見てみてください。

+11

ソケットIOは素晴らしいですが、それはそれは(他のメカニズムへのフォールバック付き)のWebSocketの上に実装層であることを理解することが重要です。これは「WebSocketsライブラリ」ではなく、クライアントとサーバー間の通信にWebSocket(その他の機能)を使用するフレームワークです。 –

0

はい、サーバーのサポートも必要です。 Kaazing WebSocket Gatewayは、非常に高速なエミュレーション/ Polyfillをサポートしています。 Flashのようなプラグインを使用している場合は、それを使用することができます(オプティミスティック最適化)が、そうでない場合は、長いポーリングよりもはるかに効率的な暗号化されたストリーミングでWebSocketをエミュレートします。それにはSSEやクロスドキュメントメッセージングのサポートやエミュレーション、さらに多くの高水準プロトコル抽象化(JMS/Stomp、XMPPなど)が付属しています。

22

Socket.IOは奇妙な任意のレイヤーをWebSocketプロトコル。むしろ生データを前後に渡すので、私のプロジェクトではweb-socket-jsに行ってきました。

web-socket-jsは、Webソケットのサポートが利用できない場合に、Flashソケットの使用に戻るという点で、Socket.IOと同様に機能します。したがって、Flashをサポートするすべての主要なブラウザで動作します(これは自分でテストしました)。

ファイアウォールでポート843を開くだけで、Flashセキュリティポリシーのエラーが表示されます。おそらく、ポート843でリッスンするスクリプトが必要になるでしょう...私はソケットサーバー用のem-websocketを使用しました。readmeファイルでは、これを提供するPerlスクリプトへのリンクと思われます。

+0

私は以下のリンクがポリシースクリプトをホストするのに役立つことを発見しました - http://briangonzalez.org/posts/websockets-polyfill – Ash

0

ユニオンサーバは、彗星スタイルのAJAX通信にフォールバックするWebSocketサポートを備えています。ユニオンは、オンラインマルチプレイヤーゲームなどの接続されたアプリケーションを作成するためのプラットフォームです。

http://www.unionplatform.com

5

私は過去数ヶ月間SignalRを使用している、それは素晴らしいです。 Socket.IOは何をしているのですか? Web Sockets、Server Sent Events、Forever Frame、AJAX long pollingのように劣化します。 NETでのみ動作します。

https://github.com/SignalR/SignalR/wiki/Faq

関連する問題