Class WebSocketServerHandshaker
- java.lang.Object
-
- org.jboss.netty.handler.codec.http.websocketx.WebSocketServerHandshaker
-
- Direct Known Subclasses:
WebSocketServerHandshaker00
,WebSocketServerHandshaker07
,WebSocketServerHandshaker08
,WebSocketServerHandshaker13
public abstract class WebSocketServerHandshaker extends Object
Base class for server side web socket opening and closing handshakes
-
-
Field Summary
Fields Modifier and Type Field Description static ChannelFutureListener
HANDSHAKE_LISTENER
ChannelFutureListener
which will callChannels.fireExceptionCaught(ChannelHandlerContext, Throwable)
if theChannelFuture
was not successful.static String
SUB_PROTOCOL_WILDCARD
Use this as wildcard to support all requested sub-protocols
-
Constructor Summary
Constructors Modifier Constructor Description protected
WebSocketServerHandshaker(WebSocketVersion version, String webSocketUrl, String subprotocols)
Constructor using default valuesprotected
WebSocketServerHandshaker(WebSocketVersion version, String webSocketUrl, String subprotocols, long maxFramePayloadLength)
Constructor specifying the destination web socket location
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description abstract ChannelFuture
close(Channel channel, CloseWebSocketFrame frame)
Performs the closing handshakelong
getMaxFramePayloadLength()
Returns the max length for any frame's payloadString
getSelectedSubprotocol()
Returns the selected subprotocol.Set<String>
getSubprotocols()
Returns the CSV of supported sub protocolsWebSocketVersion
getVersion()
Returns the version of the specification being supportedString
getWebSocketUrl()
Returns the URL of the web socketabstract ChannelFuture
handshake(Channel channel, HttpRequest req)
Performs the opening handshakeprotected String
selectSubprotocol(String requestedSubprotocols)
Selects the first matching supported sub protocolprotected void
setSelectedSubprotocol(String value)
protected ChannelFuture
writeHandshakeResponse(Channel channel, HttpResponse res, ChannelHandler encoder, ChannelHandler decoder)
Upgrades the connection and send the handshake response.
-
-
-
Field Detail
-
SUB_PROTOCOL_WILDCARD
public static final String SUB_PROTOCOL_WILDCARD
Use this as wildcard to support all requested sub-protocols- See Also:
- Constant Field Values
-
HANDSHAKE_LISTENER
public static final ChannelFutureListener HANDSHAKE_LISTENER
ChannelFutureListener
which will callChannels.fireExceptionCaught(ChannelHandlerContext, Throwable)
if theChannelFuture
was not successful.
-
-
Constructor Detail
-
WebSocketServerHandshaker
protected WebSocketServerHandshaker(WebSocketVersion version, String webSocketUrl, String subprotocols)
Constructor using default values- Parameters:
version
- the protocol versionwebSocketUrl
- URL for web socket communications. e.g "ws://myhost.com/mypath". Subsequent web socket frames will be sent to this URL.subprotocols
- CSV of supported protocols. Null if sub protocols not supported.
-
WebSocketServerHandshaker
protected WebSocketServerHandshaker(WebSocketVersion version, String webSocketUrl, String subprotocols, long maxFramePayloadLength)
Constructor specifying the destination web socket location- Parameters:
version
- the protocol versionwebSocketUrl
- URL for web socket communications. e.g "ws://myhost.com/mypath". Subsequent web socket frames will be sent to this URL.subprotocols
- CSV of supported protocols. Null if sub protocols not supported.maxFramePayloadLength
- Maximum length of a frame's payload
-
-
Method Detail
-
getWebSocketUrl
public String getWebSocketUrl()
Returns the URL of the web socket
-
getVersion
public WebSocketVersion getVersion()
Returns the version of the specification being supported
-
getMaxFramePayloadLength
public long getMaxFramePayloadLength()
Returns the max length for any frame's payload
-
handshake
public abstract ChannelFuture handshake(Channel channel, HttpRequest req)
Performs the opening handshake- Parameters:
channel
- Channelreq
- HTTP Request
-
writeHandshakeResponse
protected ChannelFuture writeHandshakeResponse(Channel channel, HttpResponse res, ChannelHandler encoder, ChannelHandler decoder)
Upgrades the connection and send the handshake response.
-
close
public abstract ChannelFuture close(Channel channel, CloseWebSocketFrame frame)
Performs the closing handshake- Parameters:
channel
- Channelframe
- Closing Frame that was received
-
selectSubprotocol
protected String selectSubprotocol(String requestedSubprotocols)
Selects the first matching supported sub protocol- Parameters:
requestedSubprotocols
- CSV of protocols to be supported. e.g. "chat, superchat"- Returns:
- First matching supported sub protocol. Null if not found.
-
getSelectedSubprotocol
public String getSelectedSubprotocol()
Returns the selected subprotocol. Null if no subprotocol has been selected.This is only available AFTER handshake() has been called.
-
setSelectedSubprotocol
protected void setSelectedSubprotocol(String value)
-
-