Class WebSocketClientHandshaker

java.lang.Object
org.jboss.netty.handler.codec.http.websocketx.WebSocketClientHandshaker
Direct Known Subclasses:
WebSocketClientHandshaker00, WebSocketClientHandshaker07, WebSocketClientHandshaker08, WebSocketClientHandshaker13

public abstract class WebSocketClientHandshaker extends Object
Base class for web socket client handshake implementations
  • Field Details

  • Constructor Details

    • WebSocketClientHandshaker

      protected WebSocketClientHandshaker(URI webSocketUrl, WebSocketVersion version, String subprotocol, Map<String,String> customHeaders)
      Base 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
    • WebSocketClientHandshaker

      protected WebSocketClientHandshaker(URI webSocketUrl, WebSocketVersion version, String subprotocol, Map<String,String> customHeaders, long maxFramePayloadLength)
      Base 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 - CSV of requested subprotocol(s) sent to the server.
      customHeaders - Map of custom headers to add to the client request
      maxFramePayloadLength - Maximum length of a frame's payload
  • Method Details

    • getWebSocketUrl

      public URI getWebSocketUrl()
      Returns the URI to the web socket. e.g. "ws://myhost.com/path"
    • getVersion

      public WebSocketVersion getVersion()
      Version of the web socket specification that is being used
    • getMaxFramePayloadLength

      public long getMaxFramePayloadLength()
      Returns the max length for any frame's payload
    • isHandshakeComplete

      public boolean isHandshakeComplete()
      Flag to indicate if the opening handshake is complete
    • setHandshakeComplete

      protected void setHandshakeComplete()
    • getExpectedSubprotocol

      public String getExpectedSubprotocol()
      Returns the CSV of requested subprotocol(s) sent to the server as specified in the constructor
    • getActualSubprotocol

      public String getActualSubprotocol()
      Returns the subprotocol response sent by the server. Only available after end of handshake. Null if no subprotocol was requested or confirmed by the server.
    • setActualSubprotocol

      protected void setActualSubprotocol(String actualSubprotocol)
    • handshake

      public abstract ChannelFuture handshake(Channel channel) throws Exception
      Begins the opening handshake
      Parameters:
      channel - Channel
      Throws:
      Exception
    • finishHandshake

      public abstract void finishHandshake(Channel channel, HttpResponse response)
      Validates and finishes the opening handshake initiated by handshake(org.jboss.netty.channel.Channel)}.
      Parameters:
      channel - Channel
      response - HTTP response containing the closing handshake details