Class WebSocketServerHandshaker08
java.lang.Object
org.jboss.netty.handler.codec.http.websocketx.WebSocketServerHandshaker
org.jboss.netty.handler.codec.http.websocketx.WebSocketServerHandshaker08
Performs server side opening and closing handshakes for web socket specification version draft-ietf-hybi-thewebsocketprotocol- 10
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final boolean
private static final InternalLogger
static final String
Fields inherited from class org.jboss.netty.handler.codec.http.websocketx.WebSocketServerHandshaker
HANDSHAKE_LISTENER, SUB_PROTOCOL_WILDCARD
-
Constructor Summary
ConstructorsConstructorDescriptionWebSocketServerHandshaker08
(String webSocketURL, String subprotocols, boolean allowExtensions) Constructor using defaultsWebSocketServerHandshaker08
(String webSocketURL, String subprotocols, boolean allowExtensions, long maxFramePayloadLength) Constructor -
Method Summary
Modifier and TypeMethodDescriptionclose
(Channel channel, CloseWebSocketFrame frame) Echo back the closing frame and close the connectionhandshake
(Channel channel, HttpRequest req) Handle the web socket handshake for the web socket specification HyBi version 8 to 10.Methods inherited from class org.jboss.netty.handler.codec.http.websocketx.WebSocketServerHandshaker
getMaxFramePayloadLength, getSelectedSubprotocol, getSubprotocols, getVersion, getWebSocketUrl, selectSubprotocol, setSelectedSubprotocol, writeHandshakeResponse
-
Field Details
-
logger
-
WEBSOCKET_08_ACCEPT_GUID
- See Also:
-
allowExtensions
private final boolean allowExtensions
-
-
Constructor Details
-
WebSocketServerHandshaker08
public WebSocketServerHandshaker08(String webSocketURL, String subprotocols, boolean allowExtensions) Constructor using defaults- 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 protocolsallowExtensions
- Allow extensions to be used in the reserved bits of the web socket frame
-
WebSocketServerHandshaker08
public WebSocketServerHandshaker08(String webSocketURL, String subprotocols, boolean allowExtensions, long maxFramePayloadLength) Constructor- 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 protocolsallowExtensions
- Allow extensions to be used in the reserved bits of the web socket framemaxFramePayloadLength
- 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 8 to 10. Version 8, 9 and 10 share the same wire protocol.
Browser request to the server:
GET /chat HTTP/1.1 Host: server.example.com Upgrade: websocket Connection: Upgrade Sec-WebSocket-Key: dGhlIHNhbXBsZSBub25jZQ== Sec-WebSocket-Origin: http://example.com Sec-WebSocket-Protocol: chat, superchat Sec-WebSocket-Version: 8
Server response:
HTTP/1.1 101 Switching Protocols Upgrade: websocket Connection: Upgrade Sec-WebSocket-Accept: s3pPLMBiTxaQ9kYGzzhZRbK+xOo= Sec-WebSocket-Protocol: chat
- Specified by:
handshake
in classWebSocketServerHandshaker
- Parameters:
channel
- Channelreq
- HTTP request
-
close
Echo back the closing frame and close the connection- Specified by:
close
in classWebSocketServerHandshaker
- Parameters:
channel
- Channelframe
- Web Socket frame that was received
-