Class WebSocketClientHandshaker00
java.lang.Object
org.jboss.netty.handler.codec.http.websocketx.WebSocketClientHandshaker
org.jboss.netty.handler.codec.http.websocketx.WebSocketClientHandshaker00
Performs client 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.WebSocketClientHandshaker
customHeaders
-
Constructor Summary
ConstructorsConstructorDescriptionWebSocketClientHandshaker00
(URI webSocketURL, WebSocketVersion version, String subprotocol, Map<String, String> customHeaders) Constructor with default valuesWebSocketClientHandshaker00
(URI webSocketURL, WebSocketVersion version, String subprotocol, Map<String, String> customHeaders, long maxFramePayloadLength) Constructor -
Method Summary
Modifier and TypeMethodDescriptionvoid
finishHandshake
(Channel channel, HttpResponse response) Process server response:Sends the opening request to the server:private static String
private static String
insertSpaces
(String key, int spaces) Methods inherited from class org.jboss.netty.handler.codec.http.websocketx.WebSocketClientHandshaker
getActualSubprotocol, getExpectedSubprotocol, getMaxFramePayloadLength, getVersion, getWebSocketUrl, isHandshakeComplete, replaceDecoder, setActualSubprotocol, setHandshakeComplete
-
Field Details
-
expectedChallengeResponseBytes
-
-
Constructor Details
-
WebSocketClientHandshaker00
public WebSocketClientHandshaker00(URI webSocketURL, WebSocketVersion version, String subprotocol, Map<String, String> customHeaders) 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.version
- Version of web socket specification to use to connect to the serversubprotocol
- Sub protocol request sent to the server.customHeaders
- Map of custom headers to add to the client request
-
WebSocketClientHandshaker00
public WebSocketClientHandshaker00(URI webSocketURL, WebSocketVersion version, String subprotocol, Map<String, String> customHeaders, 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.version
- Version of web socket specification to use to connect to the serversubprotocol
- Sub protocol request sent to the server.customHeaders
- Map of custom headers to add to the client requestmaxFramePayloadLength
- Maximum length of a frame's payload
-
-
Method Details
-
handshake
Sends the opening request to the server:
GET /demo HTTP/1.1 Upgrade: WebSocket Connection: Upgrade Host: example.com Origin: http://example.com Sec-WebSocket-Key1: 4 @1 46546xW%0l 1 5 Sec-WebSocket-Key2: 12998 5 Y3 1 .P00 ^n:ds[4U
- Specified by:
handshake
in classWebSocketClientHandshaker
- Parameters:
channel
- Channel into which we can write our request
-
finishHandshake
Process 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:
finishHandshake
in classWebSocketClientHandshaker
- Parameters:
channel
- Channelresponse
- HTTP response returned from the server for the request sent by beginOpeningHandshake00().- Throws:
WebSocketHandshakeException
-
insertRandomCharacters
-
insertSpaces
-