public interface SubProtocolHandler
WebSocketMessages from a client
as well as Messages to a client.
Implementations of this interface can be configured on a
SubProtocolWebSocketHandler which selects a sub-protocol handler to
delegate messages to based on the sub-protocol requested by the client through
the Sec-WebSocket-Protocol request header.
| Modifier and Type | Method and Description |
|---|---|
void |
afterSessionEnded(WebSocketSession session,
CloseStatus closeStatus,
MessageChannel outputChannel)
Invoked after a
WebSocketSession has ended. |
void |
afterSessionStarted(WebSocketSession session,
MessageChannel outputChannel)
Invoked after a
WebSocketSession has started. |
List<String> |
getSupportedProtocols()
Return the list of sub-protocols supported by this handler (never
null). |
void |
handleMessageFromClient(WebSocketSession session,
WebSocketMessage<?> message,
MessageChannel outputChannel)
Handle the given
WebSocketMessage received from a client. |
void |
handleMessageToClient(WebSocketSession session,
Message<?> message)
Handle the given
Message to the client associated with the given WebSocket session. |
String |
resolveSessionId(Message<?> message)
Resolve the session id from the given message or return
null. |
List<String> getSupportedProtocols()
null).void handleMessageFromClient(WebSocketSession session, WebSocketMessage<?> message, MessageChannel outputChannel) throws Exception
WebSocketMessage received from a client.session - the client sessionmessage - the client messageoutputChannel - an output channel to send messages toExceptionvoid handleMessageToClient(WebSocketSession session, Message<?> message) throws Exception
Message to the client associated with the given WebSocket session.session - the client sessionmessage - the client messageException@Nullable String resolveSessionId(Message<?> message)
null.message - the message to resolve the session id fromvoid afterSessionStarted(WebSocketSession session, MessageChannel outputChannel) throws Exception
WebSocketSession has started.session - the client sessionoutputChannel - a channelExceptionvoid afterSessionEnded(WebSocketSession session, CloseStatus closeStatus, MessageChannel outputChannel) throws Exception
WebSocketSession has ended.session - the client sessioncloseStatus - the reason why the session was closedoutputChannel - a channelException