public class StandardWebSocketSession extends AbstractWebSocketSession<javax.websocket.Session>
WebSocketSession
for use with the standard WebSocket for Java API.logger
Constructor and Description |
---|
StandardWebSocketSession(HttpHeaders headers,
java.util.Map<java.lang.String,java.lang.Object> attributes,
java.net.InetSocketAddress localAddress,
java.net.InetSocketAddress remoteAddress)
Class constructor.
|
StandardWebSocketSession(HttpHeaders headers,
java.util.Map<java.lang.String,java.lang.Object> attributes,
java.net.InetSocketAddress localAddress,
java.net.InetSocketAddress remoteAddress,
java.security.Principal user)
Class constructor that associates a user with the WebSocket session.
|
Modifier and Type | Method and Description |
---|---|
protected void |
closeInternal(CloseStatus status) |
java.lang.String |
getAcceptedProtocol()
Return the negotiated sub-protocol or
null if none was specified or
negotiated successfully. |
int |
getBinaryMessageSizeLimit()
Get the configured maximum size for an incoming binary message.
|
java.util.List<WebSocketExtension> |
getExtensions()
Return the negotiated extensions or
null if none was specified or
negotiated successfully. |
HttpHeaders |
getHandshakeHeaders()
Return the headers used in the handshake request.
|
java.lang.String |
getId()
Return a unique session identifier.
|
java.net.InetSocketAddress |
getLocalAddress()
Return the address on which the request was received.
|
java.security.Principal |
getPrincipal()
Return a
Principal instance containing the name of the
authenticated user. |
java.net.InetSocketAddress |
getRemoteAddress()
Return the address of the remote client.
|
int |
getTextMessageSizeLimit()
Get the configured maximum size for an incoming text message.
|
java.net.URI |
getUri()
Return the URI used to open the WebSocket connection.
|
void |
initializeNativeSession(javax.websocket.Session session) |
boolean |
isOpen()
Return whether the connection is still open.
|
protected void |
sendBinaryMessage(BinaryMessage message) |
protected void |
sendPingMessage(PingMessage message) |
protected void |
sendPongMessage(PongMessage message) |
protected void |
sendTextMessage(TextMessage message) |
void |
setBinaryMessageSizeLimit(int messageSizeLimit)
Configure the maximum size for an incoming binary message.
|
void |
setTextMessageSizeLimit(int messageSizeLimit)
Configure the maximum size for an incoming text message.
|
checkNativeSessionInitialized, close, close, getAttributes, getNativeSession, getNativeSession, sendMessage, toString
public StandardWebSocketSession(HttpHeaders headers, java.util.Map<java.lang.String,java.lang.Object> attributes, java.net.InetSocketAddress localAddress, java.net.InetSocketAddress remoteAddress)
headers
- the headers of the handshake requestattributes
- 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 clientpublic StandardWebSocketSession(HttpHeaders headers, java.util.Map<java.lang.String,java.lang.Object> attributes, java.net.InetSocketAddress localAddress, java.net.InetSocketAddress remoteAddress, java.security.Principal user)
headers
- the headers of the handshake requestattributes
- 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; if null
we'll
fallback on the user available in the underlying WebSocket sessionpublic java.lang.String getId()
WebSocketSession
public java.net.URI getUri()
WebSocketSession
public HttpHeaders getHandshakeHeaders()
WebSocketSession
public java.lang.String getAcceptedProtocol()
WebSocketSession
null
if none was specified or
negotiated successfully.public java.util.List<WebSocketExtension> getExtensions()
WebSocketSession
null
if none was specified or
negotiated successfully.public java.security.Principal getPrincipal()
WebSocketSession
Principal
instance containing the name of the
authenticated user.
If the user has not been authenticated, the method returns null
.
public java.net.InetSocketAddress getLocalAddress()
WebSocketSession
public java.net.InetSocketAddress getRemoteAddress()
WebSocketSession
public void setTextMessageSizeLimit(int messageSizeLimit)
WebSocketSession
public int getTextMessageSizeLimit()
WebSocketSession
public void setBinaryMessageSizeLimit(int messageSizeLimit)
WebSocketSession
public int getBinaryMessageSizeLimit()
WebSocketSession
public boolean isOpen()
WebSocketSession
public void initializeNativeSession(javax.websocket.Session session)
initializeNativeSession
in class AbstractWebSocketSession<javax.websocket.Session>
protected void sendTextMessage(TextMessage message) throws java.io.IOException
sendTextMessage
in class AbstractWebSocketSession<javax.websocket.Session>
java.io.IOException
protected void sendBinaryMessage(BinaryMessage message) throws java.io.IOException
sendBinaryMessage
in class AbstractWebSocketSession<javax.websocket.Session>
java.io.IOException
protected void sendPingMessage(PingMessage message) throws java.io.IOException
sendPingMessage
in class AbstractWebSocketSession<javax.websocket.Session>
java.io.IOException
protected void sendPongMessage(PongMessage message) throws java.io.IOException
sendPongMessage
in class AbstractWebSocketSession<javax.websocket.Session>
java.io.IOException
protected void closeInternal(CloseStatus status) throws java.io.IOException
closeInternal
in class AbstractWebSocketSession<javax.websocket.Session>
java.io.IOException