import 'package:web_socket_channel/io.dart'; import '../global.dart' as global; IOWebSocketChannel? channel; bool connected = false; Map map = {}; Future reloadWebsockets() async { closeSockets(); for (int i = 0; i < global.settings!.identities.length; i++) { final idName = global.settings!.identities.keys.toList()[i]; final id = global.settings!.identities[idName]!; final uri = Uri.parse( "${id.webSocketUrl}/api/v1/streaming", ); Map headers = id.getAuthHeaders(); headers.addAll(global.defaultHeaders); map.addAll( { idName: IOWebSocketChannel.connect( uri, headers: headers, ), }, ); } } void closeSockets() { for (int i = 0; i < map.length; i++) { String key = map.keys.toList()[i]; map[key]!.sink.close(); } }