Future<WebSocket> connect(
String url,
{Iterable<String> protocols,
Map<String> headers}
)

Create a new WebSocket connection. The URL supplied in url must use the scheme ws or wss.

The protocols argument is specifying the subprotocols the client is willing to speak.

The headers argument is specifying additional HTTP headers for setting up the connection. This would typically be the Origin header and potentially cookies. The keys of the map are the header fields and the values are either String or List<String>.

If headers is provided, there are a number of headers which are controlled by the WebSocket connection process. These headers are:

  • connection
  • sec-websocket-key
  • sec-websocket-protocol
  • sec-websocket-version
  • upgrade

If any of these are passed in the headers map they will be ignored.

If the url contains user information this will be passed as basic authentication when setting up the connection.

Source

/**
 * Create a new WebSocket connection. The URL supplied in [url]
 * must use the scheme `ws` or `wss`.
 *
 * The [protocols] argument is specifying the subprotocols the
 * client is willing to speak.
 *
 * The [headers] argument is specifying additional HTTP headers for
 * setting up the connection. This would typically be the `Origin`
 * header and potentially cookies. The keys of the map are the header
 * fields and the values are either String or List<String>.
 *
 * If [headers] is provided, there are a number of headers
 * which are controlled by the WebSocket connection process. These
 * headers are:
 *
 *   - `connection`
 *   - `sec-websocket-key`
 *   - `sec-websocket-protocol`
 *   - `sec-websocket-version`
 *   - `upgrade`
 *
 * If any of these are passed in the `headers` map they will be ignored.
 *
 * If the `url` contains user information this will be passed as basic
 * authentication when setting up the connection.
 */
static Future<WebSocket> connect(String url,
                                 {Iterable<String> protocols,
                                  Map<String, dynamic> headers}) =>
    _WebSocketImpl.connect(url, protocols, headers);