Class WebSocketServerHandshaker00
java.lang.Object
org.jboss.netty.handler.codec.http.websocketx.WebSocketServerHandshaker
org.jboss.netty.handler.codec.http.websocketx.WebSocketServerHandshaker00
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.
-
Field Summary
FieldsFields inherited from class org.jboss.netty.handler.codec.http.websocketx.WebSocketServerHandshaker
HANDSHAKE_LISTENER, SUB_PROTOCOL_WILDCARD
-
Constructor Summary
ConstructorsConstructorDescriptionWebSocketServerHandshaker00
(String webSocketURL, String subprotocols) Constructor with default valuesWebSocketServerHandshaker00
(String webSocketURL, String subprotocols, long maxFramePayloadLength) Constructor specifying the destination web socket location -
Method Summary
Modifier and TypeMethodDescriptionclose
(Channel channel, CloseWebSocketFrame frame) Echo back the closing framehandshake
(Channel channel, HttpRequest req) Handle the web socket handshake for the web socket specification HyBi version 0 and lower.Methods inherited from class org.jboss.netty.handler.codec.http.websocketx.WebSocketServerHandshaker
getMaxFramePayloadLength, getSelectedSubprotocol, getSubprotocols, getVersion, getWebSocketUrl, selectSubprotocol, setSelectedSubprotocol, writeHandshakeResponse
-
Field Details
-
logger
-
-
Constructor Details
-
WebSocketServerHandshaker00
Constructor with default values- Parameters:
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 protocols
-
WebSocketServerHandshaker00
public WebSocketServerHandshaker00(String webSocketURL, String subprotocols, long maxFramePayloadLength) Constructor specifying the destination web socket location- Parameters:
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.
-
-
Method Details
-
handshake
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-
- Specified by:
handshake
in classWebSocketServerHandshaker
- Parameters:
channel
- Channelreq
- HTTP request
-
close
Echo back the closing frame- Specified by:
close
in classWebSocketServerHandshaker
- Parameters:
channel
- Channelframe
- Web Socket frame that was received
-