reconnect method
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();
}