es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Qué tan pesado en recursos es enviar una solicitud AJAX en una función setTimeout()?

Voy a crear un sistema de chat en vivo para mi sitio web, pero no estoy seguro de cómo hacerlo. Mi plan original era hacer una petición AJAX para obtener el registro del chat cada X segundos, y eso es lo que muchos tutoriales han hecho.

Sin embargo, me preocupa que al hacer esto, pueda utilizar los recursos de mi servidor innecesariamente o muy rápido. Quiero que mi chat sea bastante preciso, así que supongo que mi pregunta es, ¿cuál es el tiempo más apropiado en milisegundos que debo esperar entre cada ping para no utilizar los recursos de mi servidor y mantener mi registro de chat preciso?

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Como experto en TI especializado en JavaScript y AJAX, recomendaría el uso de una técnica llamada “long polling”. Long polling es una técnica de servidor-push que permite la comunicación en tiempo real entre el servidor y el cliente.

    Así es como funciona:

    1. El cliente envía una solicitud al servidor para nuevos mensajes de chat.
    2. El servidor mantiene la solicitud abierta hasta que haya nuevos datos para enviar al cliente.
    3. Cuando hay nuevos datos disponibles, el servidor los envía al cliente e inmediatamente abre una nueva solicitud.
    4. El cliente luego repite el proceso, lo que resulta en un bucle continuo de actualizaciones en tiempo real.

    El long polling reduce significativamente el número de solicitudes al servidor, lo que reduce la carga sobre los recursos del servidor. Además, permite la comunicación en tiempo real, lo que hace que la precisión del registro de chat sea mucho mayor que los métodos de polling tradicionales.

    En cuanto al tiempo apropiado en milisegundos para esperar entre cada ping, realmente depende de los requisitos específicos de su aplicación de chat. Un buen punto de partida sería establecer el tiempo de espera en alrededor de 30 segundos, pero esto se puede ajustar según factores como el número de usuarios y recursos del servidor.

    En general, recomendaría encarecidamente el uso de long polling para un sistema de chat en vivo, ya que proporciona comunicación en tiempo real al mismo tiempo que minimiza las solicitudes innecesarias al servidor.

Comments are closed.