Class WebSocketClientHandshaker07

java.lang.Object
org.jboss.netty.handler.codec.http.websocketx.WebSocketClientHandshaker
org.jboss.netty.handler.codec.http.websocketx.WebSocketClientHandshaker07

public class WebSocketClientHandshaker07 extends WebSocketClientHandshaker

Performs client side opening and closing handshakes for web socket specification version draft-ietf-hybi-thewebsocketprotocol- 07

  • Field Details

    • logger

      private static final InternalLogger logger
    • MAGIC_GUID

      public static final String MAGIC_GUID
      See Also:
    • expectedChallengeResponseString

      private String expectedChallengeResponseString
    • allowExtensions

      private final boolean allowExtensions
  • Constructor Details

    • WebSocketClientHandshaker07

      public WebSocketClientHandshaker07(URI webSocketURL, WebSocketVersion version, String subprotocol, boolean allowExtensions, Map<String,String> customHeaders, long maxFramePayloadLength)
      Creates a new instance.
      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.
      allowExtensions - Allow extensions to be used in the reserved bits of the web socket frame
      customHeaders - Map of custom headers to add to the client request
      maxFramePayloadLength - Maximum length of a frame's payload
  • Method Details

    • handshake

      public ChannelFuture handshake(Channel channel)
      /**

      Sends the opening 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: 7
       
      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 Switching Protocols
       Upgrade: websocket
       Connection: Upgrade
       Sec-WebSocket-Accept: s3pPLMBiTxaQ9kYGzzhZRbK+xOo=
       Sec-WebSocket-Protocol: chat
       
      Specified by:
      finishHandshake in class WebSocketClientHandshaker
      Parameters:
      channel - Channel
      response - HTTP response returned from the server for the request sent by beginOpeningHandshake00().
      Throws:
      WebSocketHandshakeException