web-dev-qa-db-ja.com

ブラウザ用のWebsocketライブラリ?

Ajaxロングポーリングへのフォールバックを備えたブラウザーで使用できるWebSocketライブラリ(jqueryのajaxなど)はありますか?

17
ajsie

WebSocketをサポートし、フォールバックロングポーリングソリューションを備えたライブラリは、ブラウザクライアントだけでなく、サーバー側のテクノロジにも依存する可能性があります。たとえば、 socket.io を見てみてください。

9
yojimbo87

Socket.IOがWebSocketプロトコル上に奇妙な任意のレイヤーを実装していることがわかりました。生データをやり取りしたいので、私のプロジェクトでは web-socket-js を使用しました。

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

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

22
Chad Johnson

私はここ数ヶ月SignalRを使用していますが、それは素晴らしいことです。 Socket.IOが行うことを実行しますが、おそらくさらに優れています。 Webソケット、サーバー送信イベント、フォーエバーフレーム、AJAXロングポーリング。ただし、.NETでのみ機能します。

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

5
Chad Johnson

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

http://www.unionplatform.com

0
colin moock

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

0
Peter Lubbers