Class StandardWebSocketSession
java.lang.Object
org.springframework.web.socket.adapter.AbstractWebSocketSession<Session>
org.springframework.web.socket.adapter.standard.StandardWebSocketSession
- All Implemented Interfaces:
Closeable,AutoCloseable,NativeWebSocketSession,WebSocketSession
A
WebSocketSession for use with the standard WebSocket for Java API.- Since:
- 4.0
- Author:
- Rossen Stoyanchev
-
Field Summary
Fields inherited from class org.springframework.web.socket.adapter.AbstractWebSocketSession
idGenerator, logger -
Constructor Summary
ConstructorsConstructorDescriptionStandardWebSocketSession(HttpHeaders headers, Map<String, Object> attributes, InetSocketAddress localAddress, InetSocketAddress remoteAddress) Constructor for a standard WebSocket session.StandardWebSocketSession(HttpHeaders headers, Map<String, Object> attributes, InetSocketAddress localAddress, InetSocketAddress remoteAddress, Principal user) Constructor that associates a user with the WebSocket session. -
Method Summary
Modifier and TypeMethodDescriptionprotected voidcloseInternal(CloseStatus status) Return the negotiated sub-protocol.intGet the configured maximum size for an incoming binary message.Determine the negotiated extensions.Return the headers used in the handshake request (nevernull).getId()Return a unique session identifier.Return the address on which the request was received.Return aPrincipalinstance containing the name of the authenticated user.Return the address of the remote client.intGet the configured maximum size for an incoming text message.getUri()Return the URI used to open the WebSocket connection.voidinitializeNativeSession(Session session) booleanisOpen()Whether the underlying connection is open.protected voidsendBinaryMessage(BinaryMessage message) protected voidsendPingMessage(PingMessage message) protected voidsendPongMessage(PongMessage message) protected voidsendTextMessage(TextMessage message) voidsetBinaryMessageSizeLimit(int messageSizeLimit) Configure the maximum size for an incoming binary message.voidsetTextMessageSizeLimit(int messageSizeLimit) Configure the maximum size for an incoming text message.Methods inherited from class org.springframework.web.socket.adapter.AbstractWebSocketSession
checkNativeSessionInitialized, close, close, getAttributes, getNativeSession, getNativeSession, sendMessage, toString
-
Constructor Details
-
StandardWebSocketSession
public StandardWebSocketSession(@Nullable HttpHeaders headers, @Nullable Map<String, Object> attributes, @Nullable InetSocketAddress localAddress, @Nullable InetSocketAddress remoteAddress) Constructor for a standard WebSocket session.- Parameters:
headers- the headers of the handshake requestattributes- the attributes from the HTTP handshake to associate with the WebSocket session; the provided attributes are copied, the original map is not used.localAddress- the address on which the request was receivedremoteAddress- the address of the remote client
-
StandardWebSocketSession
public StandardWebSocketSession(@Nullable HttpHeaders headers, @Nullable Map<String, Object> attributes, @Nullable InetSocketAddress localAddress, @Nullable InetSocketAddress remoteAddress, @Nullable Principal user) Constructor that associates a user with the WebSocket session.- Parameters:
headers- the headers of the handshake requestattributes- the attributes from the HTTP handshake to associate with the WebSocket sessionlocalAddress- the address on which the request was receivedremoteAddress- the address of the remote clientuser- the user associated with the session; ifnullwe'll fall back on the user available in the underlying WebSocket session
-
-
Method Details
-
getId
Description copied from interface:WebSocketSessionReturn a unique session identifier. -
getUri
Description copied from interface:WebSocketSessionReturn the URI used to open the WebSocket connection. -
getHandshakeHeaders
Description copied from interface:WebSocketSessionReturn the headers used in the handshake request (nevernull). -
getAcceptedProtocol
Description copied from interface:WebSocketSessionReturn the negotiated sub-protocol.- Returns:
- the protocol identifier, or
nullif no protocol was specified or negotiated successfully
-
getExtensions
Description copied from interface:WebSocketSessionDetermine the negotiated extensions.- Returns:
- the list of extensions, or an empty list if no extension was specified or negotiated successfully
-
getPrincipal
Description copied from interface:WebSocketSessionReturn aPrincipalinstance containing the name of the authenticated user.If the user has not been authenticated, the method returns
null. -
getLocalAddress
Description copied from interface:WebSocketSessionReturn the address on which the request was received. -
getRemoteAddress
Description copied from interface:WebSocketSessionReturn the address of the remote client. -
setTextMessageSizeLimit
public void setTextMessageSizeLimit(int messageSizeLimit) Description copied from interface:WebSocketSessionConfigure the maximum size for an incoming text message. -
getTextMessageSizeLimit
public int getTextMessageSizeLimit()Description copied from interface:WebSocketSessionGet the configured maximum size for an incoming text message. -
setBinaryMessageSizeLimit
public void setBinaryMessageSizeLimit(int messageSizeLimit) Description copied from interface:WebSocketSessionConfigure the maximum size for an incoming binary message. -
getBinaryMessageSizeLimit
public int getBinaryMessageSizeLimit()Description copied from interface:WebSocketSessionGet the configured maximum size for an incoming binary message. -
isOpen
public boolean isOpen()Description copied from interface:WebSocketSessionWhether the underlying connection is open. -
initializeNativeSession
- Overrides:
initializeNativeSessionin classAbstractWebSocketSession<Session>
-
sendTextMessage
- Specified by:
sendTextMessagein classAbstractWebSocketSession<Session>- Throws:
IOException
-
sendBinaryMessage
- Specified by:
sendBinaryMessagein classAbstractWebSocketSession<Session>- Throws:
IOException
-
sendPingMessage
- Specified by:
sendPingMessagein classAbstractWebSocketSession<Session>- Throws:
IOException
-
sendPongMessage
- Specified by:
sendPongMessagein classAbstractWebSocketSession<Session>- Throws:
IOException
-
closeInternal
- Specified by:
closeInternalin classAbstractWebSocketSession<Session>- Throws:
IOException
-