connect static method
Future<InspectorWebSocket>
connect(
- String url, {
- Iterable<
String> ? protocols, - HttpClient? customClient,
- CompressionOptions compression = CompressionOptions.compressionDefault,
建立连接(等价 WebSocket.connect)/ Connect (equivalent to WebSocket.connect)
url ws/wss 地址 / ws/wss URL
其余参数与 WebSocket.connect 一致 / Remaining params mirror WebSocket.connect
Implementation
static Future<InspectorWebSocket> connect(
String url, {
Iterable<String>? protocols,
HttpClient? customClient,
CompressionOptions compression = CompressionOptions.compressionDefault,
}) async {
final ws = WsInspectorService.instance.isEnabled
? await runZoned(
() => WebSocket.connect(
url,
protocols: protocols,
customClient: customClient,
compression: compression,
),
zoneValues: {wsHandshakeZoneKey: true},
)
: await WebSocket.connect(
url,
protocols: protocols,
customClient: customClient,
compression: compression,
);
// 未开启抓取时不创建会话,后续 add/listen 均为空操作(零开销)。
// When capture is off, no session is created, so add/listen become no-ops.
if (!WsInspectorService.instance.isEnabled) {
return InspectorWebSocket._(ws, null);
}
return WsInspectorService.instance._wrap(ws, url);
}