connect method
      
dynamic
connect()
      
     
    
    
Implementation
connect() async {
  try {
    //_socket = await WebSocket.connect(_url);
    _socket = await _connectForSelfSignedCert(url);
    onOpen?.call();
    _socket.stream.listen((data) {
      onMessage?.call(data);
    },
    onDone: () {
      //_socket.a
      print("this is sockkkeeeetttt ${_socket!.closeCode} ${_socket!.closeReason}");
      if (_socket!.closeReason == null && _socket!.closeCode == null) {
        onClose?.call(0, "no reason");
      }
      else if(_socket!.closeCode == null){
        onClose?.call(0, _socket!.closeReason);
      }
      else if(_socket!.closeReason == null){
        onClose?.call(_socket!.closeCode,"no reason");
      }
      else
      {onClose?.call(_socket!.closeCode, _socket!.closeReason);}
    });
  } catch (e) {
    print("this is socket error $e");
    onClose?.call(500, e.toString());
  }
}