問題タブ [jsr356]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
1108 参照

java - JSR-356 でサーバーが開始する WebSocket ブロードキャスト

JSR-356 でサーバーが開始した WebSocket メッセージをブロードキャストするベスト プラクティスは何ですか?

明確にするために、注釈を使用するときに返信やブロードキャストがどのように機能するかは知って@OnMessageいますが、最初にクライアントからメッセージを受信せずにサーバーからイベントを送信したいと考えています。MessageServerEndpointつまり、以下のコードのインスタンスへの参照が必要だと思います。

次の解決策を見てきましたが、静的メソッドを使用しており、あまりエレガントではありません。

0 投票する
1 に答える
5518 参照

java - Spring Boot で Java API for WebSocket (JSR-356) を使用する

私はSpringが初めてです(そしてstackoverflowで質問しています)。

Spring Boot を介して組み込み (Tomcat) サーバーを起動し、JSR-356 WebSocket エンドポイントを登録したいと考えています。

これが主な方法です。

構成は次のようになります。

実装はEchoEndpoint簡単です:

2 番目の部分については、 https ://spring.io/blog/2013/05/23/spring-framework-4-0-m1-websocket-support というブログ投稿に従いました。

ただし、アプリケーションを実行すると、次のようになります。

のメソッドがこの時点でまだ返されるため、例外はさらにNullPointerExceptioninによって引き起こされます。ServerEndpointExportergetServletContextapplicationContextnull

Spring をよりよく理解している人が助けてくれますか? ありがとう!

0 投票する
1 に答える
951 参照

java - jsr 356 を使用しようとすると java.lang.linkage エラーが発生する

桟橋に展開された戦争内から jsr 356 websocket 接続を実装しようとしています。

私はこれをガイドとして使用しています: http://aredko.blogspot.com/2013/11/java-websockets-jsr-356-on-jetty-91.html

(Jetty サーバーが組み込まれた jsr 356 を基本的に使用するチュートリアルはたくさんありますが、既存のサーバー内で Websocket 接続を構築するチュートリアルはありません。良いものはありますか?)

上記のコードを実行すると、次のエラーが発生します。

コードを参照する

私はこれを理解するのに途方に暮れています。gradle から次の行を使用して、websocket のものを取り込みます。

javax-websocket-server-impl jar と javax.websocket-api jar の両方に ServerContainer クラスが含まれていることがわかりますが、war ファイルにはそのうちの 1 つだけを含めています。jetty は内部の古いバージョンから引っ張っていますか? それとも、問題の原因を完全に誤解していますか?

私が持っている桟橋のバージョンは次のとおりです: jetty-9.2.1.v20140609

0 投票する
1 に答える
672 参照

java - ServerEndPoint、ClientEndPoint をテストする方法は?

を実装ServerEndPointClientEndPointましたが、どうすればテストできますか? たとえば、セッションに接続ラッパーがあり、セッションデータに依存する動作をテストしたい、またクライアントとサーバー間のメッセージングをテストしたい。戦争や web.xml などのアプリケーション構成、別の場所で使用される web-sockets インフラストラクチャがないことに注意してください。私が持っているものはすべて、マップされた ServerEndPoint および ClientEndPoint 実装です。

0 投票する
1 に答える
4748 参照

java - Websocket セッションで UserAgent にアクセスしますか?

Java の「JSR 356 - Java API for WebSocket」の Tyrus 参照実装を使用すると、Websocket のアップグレードに使用された HTTP 接続にアクセスする方法が見つかりません。したがって、ブラウザが送信した HTTP ヘッダーにアクセスできません。

HTTP UserAgent ヘッダーを読み取る方法はありますか?

「Session」オブジェクトを「TyrusSession」などにキャストすることは許容されますが、とにかくリモート アドレスを取得するにはそれを行う必要があります。Websocket 接続内のメッセージとして UserAgent を再度送信することは、私のフォールバック ソリューションです。