connect method

dynamic connect()

Implementation

connect() async {
  try {
    //_socket = await WebSocket.connect(_url);
    _connectForSelfSignedCert(url).then((socket) {
      print("url issss $url");
      if (socket.runtimeType == String) {
        print(socket.runtimeType);
        onClose?.call(500, "some thing went wrong");
      } else {
        _socket = socket;
        // _socket.ready.then((e) {
        //   print("ready stateeeeeeeee");
          onOpen?.call();
      //  });

        socket.stream.listen((data) {
          onMessage?.call(data);
        }, onDone: () {
          if (socket?.closeReason == null) {
            try {
              onClose?.call(socket?.closeCode, "no reason");
            } catch (e) {
              onClose?.call(1001, "no reason");
              print("this is exception from close socket");
            }
          } else {
            onClose?.call(socket?.closeCode, socket!.closeReason);
          }
        });
      }
    }).catchError((onError) {
      print("this is error $onError");
    });

    // onOpen?.call();
    // _socket.stream.listen((data) {
    //   onMessage?.call(data);
    // }, onDone: () {
    //   if (_socket!.closeReason == null) {
    //     onClose?.call(_socket!.closeCode, "no reason");
    //   } else {
    //     onClose?.call(_socket!.closeCode, _socket!.closeReason);
    //   }
    // });
  } catch (e) {
    print("this is exception $e");
    onClose?.call(500, e.toString());
  }
}