問題タブ [spring-websocket]
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.
websocket - Websockets: SockJS を使用して複数のエンドポイントを追加することは可能ですか?
2 つの Web ソケット エンドポイントを作成したいと考えています。それは可能ですか?
その場合の構成は?
javascript - Spring-WebSockets を使用して WebSockets を介して STOMP でバイナリ データを送信することは可能ですか?
spring documentationに従って、STOMP over WebSockets を使用して JSON を送受信できます。ただし、大量の高レートではパフォーマンスが低下するため、バイナリ メッセージの使用をプロファイルしたいと思います。
- Spring-WebSockets 4.0
- Chrome 35 で実行されている JavaScript クライアント
- ストンプ.js 1.7.1
送信
必要なブローカーリレーで SimpMessageTemplate を使用してメッセージを送信します-春のドキュメントを参照してください
受信
JavaScript クライアントは、標準のメカニズムを使用して、stomp.jsを使用してデータを受信します。
メッセージは文字列として受信され、コンソール出力は次のようになります。ArrayBufferのような生の型を期待しています
私が試したこと
STOMP の T は Text を表していることは理解していますが、Spring のドキュメントでは、少なくともプレーンな WebSocket でバイナリ メッセージが可能であることを示唆しています。
STOMP はテキスト ベースですが、バイナリ メッセージの送信も可能です。
- 送信コードをデバッグすると、見る限りバイト [] のままのようです
- 受信中の stomp.js ライブラリのデバッグ。基礎となる ws.onmessage コールバックで受信すると、メッセージは文字列のように見えます (stomp-1.7.1.js の 243 行目)。
- たくさんの検索 - これはほとんど情報がない珍しいトピックのようです
- stomp.js のソース コードを見てみます。バイナリへの唯一の参照は ws.binaryType = "arraybuffer" です。
更新: サーバー側でさらにデバッグを行いました。org.springframework.web.socket.TextMessage は、 org.springframework.web.socket.BinaryMessageではなく、常に org.springframework.web.socket.messaging.StompSubProtocolHandler 内で使用されるようです。このSPR-12301の機能リクエストを提出しました
私の質問
- このアプローチは、このテクノロジーの組み合わせで可能ですか?
- 私はいくつかの重要なステップを逃していますか?
- 誰でも実際の例を教えてもらえますか
java - 「WebApplicationInitializer」を使用して spring-websocket を構成する方法
「WebApplicationInitializer」を使用して spring-websocket を構成する方法:
WebAppInitializer.java
}
WebSocketConfig.java
GreetingController.java
index.html
実行すると、ブラウザのコンソールでエラーが発生しました。