description

# connect method Null safety

Future<WebSocket> connect (

1. String url,
2. {Iterable<String>? protocols,
3. Map<String, dynamic>? headers,
4. CompressionOptions compression: CompressionOptions.compressionDefault}

)

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.

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.

## Implementation

    static Future<WebSocket> connect(String url,
            {Iterable<String>? protocols,
            Map<String, dynamic>? headers,
            CompressionOptions compression =
                CompressionOptions.compressionDefault}) =>
        _WebSocketImpl.connect(url, protocols, headers, compression: compression);