public class WebSocketServerHandshaker00 extends WebSocketServerHandshaker
Performs server side opening and closing handshakes for web socket specification version draft-ietf-hybi-thewebsocketprotocol- 00
A very large portion of this code was taken from the Netty 3.2 HTTP example.
logger, SUB_PROTOCOL_WILDCARD
Constructor and Description |
---|
WebSocketServerHandshaker00(String webSocketURL,
String subprotocols,
int maxFramePayloadLength)
Constructor specifying the destination web socket location
|
WebSocketServerHandshaker00(String webSocketURL,
String subprotocols,
WebSocketDecoderConfig decoderConfig)
Constructor specifying the destination web socket location
|
Modifier and Type | Method and Description |
---|---|
ChannelFuture |
close(Channel channel,
CloseWebSocketFrame frame,
ChannelPromise promise)
Echo back the closing frame
|
ChannelFuture |
close(ChannelHandlerContext ctx,
CloseWebSocketFrame frame,
ChannelPromise promise)
Echo back the closing frame
|
protected FullHttpResponse |
newHandshakeResponse(FullHttpRequest req,
HttpHeaders headers)
Handle the web socket handshake for the web socket specification HyBi version 0 and lower.
|
protected WebSocketFrameDecoder |
newWebsocketDecoder()
Returns the decoder to use after handshake is complete.
|
protected WebSocketFrameEncoder |
newWebSocketEncoder()
Returns the encoder to use after the handshake is complete.
|
close, close, decoderConfig, handshake, handshake, handshake, handshake, maxFramePayloadLength, selectedSubprotocol, selectSubprotocol, subprotocols, uri, version
public WebSocketServerHandshaker00(String webSocketURL, String subprotocols, int maxFramePayloadLength)
webSocketURL
- 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 protocolsmaxFramePayloadLength
- Maximum allowable frame payload length. Setting this value to your application's requirement may
reduce denial of service attacks using long data frames.public WebSocketServerHandshaker00(String webSocketURL, String subprotocols, WebSocketDecoderConfig decoderConfig)
webSocketURL
- 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 protocolsdecoderConfig
- Frames decoder configuration.protected FullHttpResponse newHandshakeResponse(FullHttpRequest req, HttpHeaders headers)
Handle the web socket handshake for the web socket specification HyBi version 0 and lower. This standard is really a rehash of hixie-76 and hixie-75.
Browser request to the server:
GET /demo HTTP/1.1 Upgrade: WebSocket Connection: Upgrade Host: example.com Origin: http://example.com Sec-WebSocket-Protocol: chat, sample Sec-WebSocket-Key1: 4 @1 46546xW%0l 1 5 Sec-WebSocket-Key2: 12998 5 Y3 1 .P00 ^n:ds[4U
Server response:
HTTP/1.1 101 WebSocket Protocol Handshake Upgrade: WebSocket Connection: Upgrade Sec-WebSocket-Origin: http://example.com Sec-WebSocket-Location: ws://example.com/demo Sec-WebSocket-Protocol: sample 8jKS'y:G*Co,Wxa-
newHandshakeResponse
in class WebSocketServerHandshaker
public ChannelFuture close(Channel channel, CloseWebSocketFrame frame, ChannelPromise promise)
close
in class WebSocketServerHandshaker
channel
- the Channel
to use.frame
- Web Socket frame that was received.promise
- the ChannelPromise
to be notified when the closing handshake is done.public ChannelFuture close(ChannelHandlerContext ctx, CloseWebSocketFrame frame, ChannelPromise promise)
close
in class WebSocketServerHandshaker
ctx
- the ChannelHandlerContext
to use.frame
- Closing Frame that was received.promise
- the ChannelPromise
to be notified when the closing handshake is done.protected WebSocketFrameDecoder newWebsocketDecoder()
WebSocketServerHandshaker
newWebsocketDecoder
in class WebSocketServerHandshaker
protected WebSocketFrameEncoder newWebSocketEncoder()
WebSocketServerHandshaker
newWebSocketEncoder
in class WebSocketServerHandshaker
Copyright © 2008–2024 The Netty Project. All rights reserved.