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 TypeMethodDescriptionvoidafterSessionEnded(WebSocketSession session, CloseStatus closeStatus, MessageChannel outputChannel) Invoked after aWebSocketSessionhas ended.voidafterSessionStarted(WebSocketSession session, MessageChannel outputChannel) Invoked after aWebSocketSessionhas started.Return the list of sub-protocols supported by this handler (nevernull).voidhandleMessageFromClient(WebSocketSession session, WebSocketMessage<?> message, MessageChannel outputChannel) Handle the givenWebSocketMessagereceived from a client.voidhandleMessageToClient(WebSocketSession session, Message<?> message) Handle the givenMessageto 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 givenWebSocketMessagereceived from a client.- Parameters:
 session- the client sessionmessage- the client messageoutputChannel- an output channel to send messages to- Throws:
 Exception
 - 
handleMessageToClient
Handle the givenMessageto 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 aWebSocketSessionhas started.- Parameters:
 session- the client sessionoutputChannel- a channel- Throws:
 Exception
 - 
afterSessionEnded
void afterSessionEnded(WebSocketSession session, CloseStatus closeStatus, MessageChannel outputChannel) throws Exception Invoked after aWebSocketSessionhas ended.- Parameters:
 session- the client sessioncloseStatus- the reason why the session was closedoutputChannel- a channel- Throws:
 Exception
 
 -