29

非常に簡単な質問がありますが、Google で興味深いものは何も見つかりません。

SignalR (.NET) に相当する Java はありますか?

SignalR は、古いブラウザーのフォールバックを備えた Websocket を実装する .NET フレームワークです。

本当にありがとうございます。

4

2 に答える 2

29

Atmosphereは、これがあなたが探しているもののようです。

githubの説明から:

Atmosphere Framework には、非同期 Web アプリケーションを構築するためのクライアント側とサーバー側のコンポーネントが含まれています。

まだ試していませんが、主要な JEE サーバー (JBoss、Tomcat、Glassfish、Jetty) とすべての主要なブラウザーとトランスポート (WebSockets、SSE、Long-Polling など) をサポートしているとのことです。

2014 年 6 月 4 日更新: 「SignalR に相当する Java」の別の注目すべき代替手段があります。バージョン 4.0 の時点で、Spring Framework にはWebSocket のサポートと SockJS のサーバー側サポートが付属しています。これは、ブラウザ側のsockjs-clientライブラリと一緒に使用される WebSocket-Fallback もサポートすることを意味します。Spring Documentation が言うように:

WebSocket は、まだすべてのブラウザーでサポートされているわけではなく、制限のあるネットワーク プロキシによって除外される可能性があります。これが、Spring が SockJS プロトコルに基づいて WebSocket API を可能な限りエミュレートするフォールバック オプションを提供する理由です [...] ブラウザー側では、アプリケーションは W3C WebSocket API をエミュレートし、サーバーと通信する sockjs-client を使用して、実行中のブラウザーに応じて、最適なトランスポート オプションを選択します。

今日の時点でJavaフレームワークでSignalR Hubs(JavaScriptコード生成を含む)のようなものがサポートされているかどうかはまだわかりませんが、反対側では完全なフォールバックでSignalRのようなPersistentConnectionを簡単に模倣できると思います古いブラウザのサポート。

さらに、JSR 356別名 Java API for WebSocket のおかげで、いわば「主流」の Java Web フレームワークが Websockets+Fallback のすぐに使えるサポートとともに出荷されるのは時間の問題だと思います。特に、すべての主要なサーブレット コンテナ (Tomcat や Jetty など) と JEE 7 サーバー (Glassfish、Wildfly) がすでに JSR 356 をサポートしているという事実を考慮してください。

于 2013-12-24T00:03:48.613 に答える
2

Play フレームワーク モジュール SignalJ があります。

更新:SignalJは死んでいるように見えます.Scala Web Socketsを見てください

于 2014-04-21T17:55:27.090 に答える