Class WebSocketServerHandshaker
java.lang.Object
org.jboss.netty.handler.codec.http.websocketx.WebSocketServerHandshaker
- Direct Known Subclasses:
WebSocketServerHandshaker00,WebSocketServerHandshaker07,WebSocketServerHandshaker08,WebSocketServerHandshaker13
Base class for server side web socket opening and closing handshakes
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final ChannelFutureListenerChannelFutureListenerwhich will callChannels.fireExceptionCaught(ChannelHandlerContext, Throwable)if theChannelFuturewas not successful.private final longprivate Stringstatic final StringUse this as wildcard to support all requested sub-protocolsprivate final String[]private final WebSocketVersionprivate final String -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedWebSocketServerHandshaker(WebSocketVersion version, String webSocketUrl, String subprotocols) Constructor using default valuesprotectedWebSocketServerHandshaker(WebSocketVersion version, String webSocketUrl, String subprotocols, long maxFramePayloadLength) Constructor specifying the destination web socket location -
Method Summary
Modifier and TypeMethodDescriptionabstract ChannelFutureclose(Channel channel, CloseWebSocketFrame frame) Performs the closing handshakelongReturns the max length for any frame's payloadReturns the selected subprotocol.Returns the CSV of supported sub protocolsReturns the version of the specification being supportedReturns the URL of the web socketabstract ChannelFuturehandshake(Channel channel, HttpRequest req) Performs the opening handshakeprotected StringselectSubprotocol(String requestedSubprotocols) Selects the first matching supported sub protocolprotected voidsetSelectedSubprotocol(String value) protected ChannelFuturewriteHandshakeResponse(Channel channel, HttpResponse res, ChannelHandler encoder, ChannelHandler decoder) Upgrades the connection and send the handshake response.
-
Field Details
-
SUB_PROTOCOL_WILDCARD
Use this as wildcard to support all requested sub-protocols- See Also:
-
webSocketUrl
-
subprotocols
-
version
-
maxFramePayloadLength
private final long maxFramePayloadLength -
selectedSubprotocol
-
HANDSHAKE_LISTENER
ChannelFutureListenerwhich will callChannels.fireExceptionCaught(ChannelHandlerContext, Throwable)if theChannelFuturewas not successful.
-
-
Constructor Details
-
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 Details
-
getWebSocketUrl
Returns the URL of the web socket -
getSubprotocols
Returns the CSV of supported sub protocols -
getVersion
Returns the version of the specification being supported -
getMaxFramePayloadLength
public long getMaxFramePayloadLength()Returns the max length for any frame's payload -
handshake
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
Performs the closing handshake- Parameters:
channel- Channelframe- Closing Frame that was received
-
selectSubprotocol
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
Returns the selected subprotocol. Null if no subprotocol has been selected.This is only available AFTER handshake() has been called.
-
setSelectedSubprotocol
-