connect method
Connects to the WebSocket server.
Implementation
Future<void> connect() async {
if (_isOpen) return;
_channel = WebSocketChannel.connect(uri, protocols: protocols);
await _channel!.ready;
_messageController = StreamController<Map<String, dynamic>>.broadcast();
_subscription = _channel!.stream.listen(
(data) {
try {
final json = jsonDecode(data as String) as Map<String, dynamic>;
_messageController!.add(json);
} catch (e) {
_messageController!.addError(e);
}
},
onError: _messageController!.addError,
onDone: () {
_isOpen = false;
_messageController?.close();
},
);
_isOpen = true;
}