reconnect method

Future<void> reconnect()

Implementation

Future<void> reconnect() async {
  log('🔄 Reconectando...');

  // Si fue disposed, resetear el flag para permitir reconexión
  if (_isDisposed) {
    log('🔄 Reseteando estado disposed para reconexión');
    _isDisposed = false;
  }

  // Cerrar conexiones actuales
  try {
    _channel?.sink.close();
    _isConnected = false;
  } catch (e) {
    log('⚠️ Error cerrando conexión anterior: $e');
  }

  // Recrear el command controller
  _ensureCommandController();

  // Reconectar
  await connect();
}