public async void ReintentarInterrogacion(object state)
        {
            CentralReintento reintento = (CentralReintento)state;

            reintento.SiguienteReintento();

            // Chequeamos que siga existiendo
            if (CentralMonitoreoManager.Instance.ExisteCentral(reintento.SocketID))
            {
                // Si se puede reintentar
                if (reintento.Reintentos < config.Reintentos)
                {
                    await MessagesHandler.Instance.InvokeClientMethodOnlyAsync(reintento.SocketID, "intSecuencial", reintento.Reintentos);
                }

                // Si llegó al límite de reintentos
                else
                {
                    // Destruyo el timer
                    if (centralesSinRespuesta.TryGetValue(reintento.SocketID, out Timer timer))
                    {
                        timer.Dispose();
                        centralesSinRespuesta.Remove(reintento.SocketID);
                    }

                    // Logeo la pérdida de conexión...
                    CentralLog log = new CentralLog(CentralMonitoreoManager.Instance.ObtenerCentral(reintento.SocketID), CentralLogTipo.Get(ECentralLogTipo.PerdidaConexion));
                    log.Save();

                    // Me desconecto de la central...
                    await MessagesHandler.Instance.OnDisconnected(reintento.SocketID);
                }
            }
        }
        private async void InterrogarCentrales(object state)
        {
            List <string> conexiones = MessagesHandler.Instance.ObtenerSocketIdCentrales();

            if (conexiones == default(List <string>))
            {
                return;
            }

            // Manda el mensaje a todas las centrales
            foreach (string socketId in conexiones)
            {
                // Si justo se desconectó una de las centrales, la saltea
                if (CentralMonitoreoManager.Instance.ExisteCentral(socketId))
                {
                    CentralReintento reintento = new CentralReintento(socketId);
                    Timer            timer     = new Timer(ReintentarInterrogacion, reintento, config.TimeOut, config.TimeOut);
                    centralesSinRespuesta[socketId] = timer;
                    await MessagesHandler.Instance.InvokeClientMethodOnlyAsync(socketId, "intSecuencial", 0);
                }
            }
        }