Interface SubProtocolHandler
- All Known Implementing Classes:
StompSubProtocolHandler
public interface SubProtocolHandler
A contract for handling WebSocket messages as part of a higher level protocol,
referred to as "sub-protocol" in the WebSocket RFC specification.
Handles both
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.
- Since:
- 4.0
- Author:
- Andy Wilkinson, Rossen Stoyanchev
-
Method Summary
Modifier and TypeMethodDescriptionvoid
afterSessionEnded
(WebSocketSession session, CloseStatus closeStatus, MessageChannel outputChannel) Invoked after aWebSocketSession
has ended.void
afterSessionStarted
(WebSocketSession session, MessageChannel outputChannel) Invoked after aWebSocketSession
has started.Return the list of sub-protocols supported by this handler (nevernull
).void
handleMessageFromClient
(WebSocketSession session, WebSocketMessage<?> message, MessageChannel outputChannel) Handle the givenWebSocketMessage
received from a client.void
handleMessageToClient
(WebSocketSession session, Message<?> message) Handle the givenMessage
to the client associated with the given WebSocket session.resolveSessionId
(Message<?> message) Resolve the session id from the given message or returnnull
.
-
Method Details
-
getSupportedProtocols
Return the list of sub-protocols supported by this handler (nevernull
). -
handleMessageFromClient
void handleMessageFromClient(WebSocketSession session, WebSocketMessage<?> message, MessageChannel outputChannel) throws Exception Handle the givenWebSocketMessage
received from a client.- Parameters:
session
- the client sessionmessage
- the client messageoutputChannel
- an output channel to send messages to- Throws:
Exception
-
handleMessageToClient
Handle the givenMessage
to the client associated with the given WebSocket session.- Parameters:
session
- the client sessionmessage
- the client message- Throws:
Exception
-
resolveSessionId
Resolve the session id from the given message or returnnull
.- Parameters:
message
- the message to resolve the session id from
-
afterSessionStarted
Invoked after aWebSocketSession
has started.- Parameters:
session
- the client sessionoutputChannel
- a channel- Throws:
Exception
-
afterSessionEnded
void afterSessionEnded(WebSocketSession session, CloseStatus closeStatus, MessageChannel outputChannel) throws Exception Invoked after aWebSocketSession
has ended.- Parameters:
session
- the client sessioncloseStatus
- the reason why the session was closedoutputChannel
- a channel- Throws:
Exception
-