Package io.vertx.core.http

## Interface WebSocketClient

- All Superinterfaces:
    `Measured`

      public interface WebSocketClient
      extends Measured

  An asynchronous WebSocket client.

  It allows you to open WebSockets to servers.

  Author:
    Tim Fox

- - ### Method Summary

    All Methods Instance Methods Abstract Methods Default Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `default Future<Void>` | `close()` | Close immediately (`shutdown(0, TimeUnit.SECONDS`).
    `default Future<WebSocket>` | `connect​(int port, String host, String requestURI)` | Connect a WebSocket to the specified port, host and relative request URI.
    `Future<WebSocket>` | `connect​(WebSocketConnectOptions options)` | Connect a WebSocket with the specified options.
    `default Future<WebSocket>` | `connect​(String requestURI)` | Connect a WebSocket to the default client port, default client host and specified, relative request URI.
    `default Future<WebSocket>` | `connect​(String host, String requestURI)` | Connect a WebSocket to the default client port and specified host and relative request URI.
    `default Future<Void>` | `shutdown()` | Shutdown with a 30 seconds timeout (`shutdown(30, TimeUnit.SECONDS)`).
    `Future<Void>` | `shutdown​(long timeout, TimeUnit unit)` | Initiate the client shutdown sequence.
    `default Future<Boolean>` | `updateSSLOptions​(ClientSSLOptions options)` | Update the client with new SSL `options`, the update happens if the options object is valid and different from the existing options object.
    `Future<Boolean>` | `updateSSLOptions​(ClientSSLOptions options, boolean force)` | Update the client with new SSL `options`, the update happens if the options object is valid and different from the existing options object.
    `ClientWebSocket` | `webSocket()` | Create a WebSocket that is not yet connected to the server.

    - ### Methods inherited from interface io.vertx.core.metrics.Measured

      `isMetricsEnabled`

- - ### Method Detail

    - #### webSocket

          ClientWebSocket webSocket()

      Create a WebSocket that is not yet connected to the server.
      Returns:
        the client WebSocket

    - #### connect

          default Future<WebSocket> connect​(int port,
                                            String host,
                                            String requestURI)

      Connect a WebSocket to the specified port, host and relative request URI.
      Parameters:
        `port` - the port
        `host` - the host
        `requestURI` - the relative URI
      Returns:
        a future notified when the WebSocket when connected

    - #### connect

          default Future<WebSocket> connect​(String host,
                                            String requestURI)

      Connect a WebSocket to the default client port and specified host and relative request URI.
      Parameters:
        `host` - the host
        `requestURI` - the relative URI
      Returns:
        a future notified when the WebSocket when connected

    - #### connect

          default Future<WebSocket> connect​(String requestURI)

      Connect a WebSocket to the default client port, default client host and specified, relative request URI.
      Parameters:
        `requestURI` - the relative URI
      Returns:
        a future notified when the WebSocket when connected

    - #### connect

          Future<WebSocket> connect​(WebSocketConnectOptions options)

      Connect a WebSocket with the specified options.
      Parameters:
        `options` - the request options
      Returns:
        a future notified when the WebSocket when connected

    - #### shutdown

          default Future<Void> shutdown()

      Shutdown with a 30 seconds timeout (`shutdown(30, TimeUnit.SECONDS)`).
      Returns:
        a future completed when shutdown has completed

    - #### close

          default Future<Void> close()

      Close immediately (`shutdown(0, TimeUnit.SECONDS`).
      Returns:
        a future notified when the client is closed

    - #### updateSSLOptions

          default Future<Boolean> updateSSLOptions​(ClientSSLOptions options)

      Update the client with new SSL `options`, the update happens if the options object is valid and different from the existing options object.
      Parameters:
        `options` - the new SSL options
      Returns:
        a future signaling the update success

    - #### updateSSLOptions

          Future<Boolean> updateSSLOptions​(ClientSSLOptions options,
                                           boolean force)

      Update the client with new SSL `options`, the update happens if the options object is valid and different from the existing options object.

      The `options` object is compared using its `equals` method against the existing options to prevent an update when the objects are equals since loading options can be costly, this can happen for share TCP servers. When object are equals, setting `force` to `true` forces the update.

      Parameters:
        `options` - the new SSL options
        `force` - force the update when options are equals
      Returns:
        a future signaling the update success

    - #### shutdown

          Future<Void> shutdown​(long timeout,
                                TimeUnit unit)

      Initiate the client shutdown sequence.
      Parameters:
        `timeout` - the amount of time after which all resources are forcibly closed
        `unit` - the of the timeout
      Returns:
        a future notified when the client is closed