IOWebSocketChannel.connect constructor
Creates a new WebSocket connection.
Connects to url using WebSocket.connect and returns a channel that can
be used to communicate over the resulting socket. The url may be either
a String or a Uri. The protocols and headers parameters are the
same as WebSocket.connect.
pingInterval controls the interval for sending ping signals. If a ping
message is not answered by a pong message from the peer, the WebSocket is
assumed disconnected and the connection is closed with a goingAway code.
When a ping signal is sent, the pong message must be received within
pingInterval. It defaults to null, indicating that ping messages are
disabled.
connectTimeout determines how long to wait for WebSocket.connect
before throwing a TimeoutException. If connectTimeout is null then the
connection process will never time-out.
If there's an error connecting, the channel's stream emits a WebSocketChannelException wrapping that error and then closes.
Implementation
factory IOWebSocketChannel.connect(
Object url, {
Iterable<String>? protocols,
Map<String, dynamic>? headers,
Duration? pingInterval,
Duration? connectTimeout,
HttpClient? customClient,
}) {
var webSocketFuture = WebSocket.connect(
url.toString(),
headers: headers,
protocols: protocols,
customClient: customClient,
).then((webSocket) => webSocket..pingInterval = pingInterval);
if (connectTimeout != null) {
webSocketFuture = webSocketFuture.timeout(connectTimeout);
}
return IOWebSocketChannel(webSocketFuture);
}