Class WebSocketClientHandshaker00

    • Field Detail

      • expectedChallengeResponseBytes

        private ChannelBuffer expectedChallengeResponseBytes
    • Constructor Detail

      • WebSocketClientHandshaker00

        public WebSocketClientHandshaker00​(java.net.URI webSocketURL,
                                           WebSocketVersion version,
                                           java.lang.String subprotocol,
                                           java.util.Map<java.lang.String,​java.lang.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 server
        subprotocol - Sub protocol request sent to the server.
        customHeaders - Map of custom headers to add to the client request
      • WebSocketClientHandshaker00

        public WebSocketClientHandshaker00​(java.net.URI webSocketURL,
                                           WebSocketVersion version,
                                           java.lang.String subprotocol,
                                           java.util.Map<java.lang.String,​java.lang.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 server
        subprotocol - Sub protocol request sent to the server.
        customHeaders - Map of custom headers to add to the client request
        maxFramePayloadLength - Maximum length of a frame's payload
    • Method Detail

      • handshake

        public ChannelFuture handshake​(Channel channel)

        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 class WebSocketClientHandshaker
        Parameters:
        channel - Channel into which we can write our request
      • finishHandshake

        public void finishHandshake​(Channel channel,
                                    HttpResponse response)

        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 class WebSocketClientHandshaker
        Parameters:
        channel - Channel
        response - HTTP response returned from the server for the request sent by beginOpeningHandshake00().
        Throws:
        WebSocketHandshakeException
      • insertRandomCharacters

        private static java.lang.String insertRandomCharacters​(java.lang.String key)
      • insertSpaces

        private static java.lang.String insertSpaces​(java.lang.String key,
                                                     int spaces)