init method

Future<void> init()

Implementation

Future<void> init() async {
  print('url: $Url.wsLink');
  print('GlobalConfig ${GlobalConfig.environment}');

  try {
    if (GlobalConfig.environment == 4) {
      webSocket = await WebSocket.connect(wsLink);
      print('Connected to WebSocket: $wsLink');
    } else {
      wsUrl = await fetchJsonFromUrl(wsLink);
      if (wsUrl.isNotEmpty) {
        webSocket = await WebSocket.connect(wsUrl[0]);
        print('Connected to WebSocket: ${wsUrl[0]}');
      }
    }

    if (webSocket?.readyState == WebSocket.open) {
      isAlive();
      Connection.setLang(GlobalConfig.defaultEnv);

      webSocket!.listen(
        (message) {
          onMessageCallBack(message);
        },
        onDone: () {
          print('WebSocket connection closed');
          webSocket?.close();
          connect();
        },
        onError: (error) {
          print('Error: $error');
          webSocket?.close();
        },
      );
    }
  } catch (err) {
    print('Unable to connect: $err');
  }
}