インターフェース WebSocketHandler
- すべての既知の実装クラス:
AbstractWebSocketHandler、BinaryWebSocketHandler、ExceptionWebSocketHandlerDecorator、LoggingWebSocketHandlerDecorator、PerConnectionWebSocketHandler、SockJsWebSocketHandler、SubProtocolWebSocketHandler、TextWebSocketHandler、WebSocketHandlerDecorator
public interface WebSocketHandler
WebSocket メッセージおよびライフサイクルイベントのハンドラー。
このインターフェースの実装は、意味のある場所で例外をローカルで処理するか、例外をバブルアップさせることをお勧めします。この場合、デフォルトで例外がログに記録され、セッションは SERVER_ERROR(1011) で閉じられます。例外処理戦略は ExceptionWebSocketHandlerDecorator によって提供され、WebSocketHandler を別のデコレーターで装飾することでカスタマイズまたは置換できます。
- 導入:
- 4.0
- 作成者:
- Rossen Stoyanchev, Phillip Webb
メソッドのサマリー
修飾子と型メソッド説明voidafterConnectionClosed(WebSocketSession session, CloseStatus closeStatus) WebSocket 接続がいずれかの側で閉じられた後、またはトランスポートエラーが発生した後に呼び出されます。voidWebSocket ネゴシエーションが成功し、WebSocket 接続が開かれ、使用可能な状態になった後に呼び出されます。voidhandleMessage(WebSocketSession session, WebSocketMessage<?> message) 新しい WebSocket メッセージが到着すると呼び出されます。voidhandleTransportError(WebSocketSession session, ThrowableSE exception) 基礎となる WebSocket メッセージトランスポートからのエラーを処理します。booleanWebSocketHandler が部分的なメッセージを処理するかどうか。
メソッドの詳細
afterConnectionEstablished
WebSocket ネゴシエーションが成功し、WebSocket 接続が開かれ、使用可能な状態になった後に呼び出されます。- 例外:
ExceptionSE- このメソッドは例外を処理または伝播できます。詳細については、クラスレベルの Javadoc を参照してください。
handleMessage
新しい WebSocket メッセージが到着すると呼び出されます。- 例外:
ExceptionSE- このメソッドは例外を処理または伝播できます。詳細については、クラスレベルの Javadoc を参照してください。
handleTransportError
基礎となる WebSocket メッセージトランスポートからのエラーを処理します。- 例外:
ExceptionSE- このメソッドは例外を処理または伝播できます。詳細については、クラスレベルの Javadoc を参照してください。
afterConnectionClosed
WebSocket 接続がどちらかの側で閉じられた後、または転送エラーが発生した後に呼び出されます。セッションは技術的にはまだ開いている可能性がありますが、基盤となる実装によっては、この時点でメッセージを送信することはお勧めできません。おそらく成功しません。- 例外:
ExceptionSE- このメソッドは例外を処理または伝播できます。詳細については、クラスレベルの Javadoc を参照してください。
supportsPartialMessages
boolean supportsPartialMessages()WebSocketHandler が部分的なメッセージを処理するかどうか。このフラグがtrueに設定され、基礎となる WebSocket サーバーが部分メッセージをサポートする場合、大きな WebSocket メッセージまたは不明なサイズのメッセージが分割され、handleMessage(WebSocketSession, WebSocketMessage)への複数の呼び出しで受信される可能性があります。フラグWebSocketMessage.isLast()は、メッセージが部分的であるかどうか、およびメッセージが最後の部分であるかどうかを示します。