sql >> Base de Datos >  >> RDS >> Mysql

Temporizador de cuenta regresiva de Javascript y PHP que muestra lo mismo para todos

Parece que necesitará un COMET/Push solución que le permitirá monitorear los clientes activos y enviarles nuevos datos. No estoy seguro de que PHP sea la mejor solución para esto, ya que hay otros lenguajes de programación que manejan esto de manera más elegante.

Ver:¿Usar comet con PHP?

Otros pueden no estar de acuerdo, pero Node.js es una excelente solución prometedora para este tipo particular de problema. Combine Node.js con Socket.io y tiene las herramientas básicas para implementar exactamente lo que está describiendo.

En pocas palabras, una aplicación cliente enviará una solicitud AJAX a un servidor. Luego, el servidor retendrá la solicitud hasta que tenga algo que devolver (en su caso, temporizador iniciado, temporizador marcado, temporizador en pausa, etc.). Tan pronto como se devuelvan los datos, el servidor realizará otra solicitud y la retendrá, repitiendo así el proceso. Si su servidor y cliente admiten WebSockets , luego se pueden evitar las conexiones AJAX retenidas a favor de una conexión WebSocket (TCP sobre HTTP).

Debido a que no todo el mundo usa la última versión de Chrome/Firefox, es probable que deba admitir varios métodos de inserción para que sea compatible con varios navegadores. Socket.io abstrae la capa de comunicación (Comet:sondeo largo, WebSockets, Adobe Flash Socket, transmisión multiparte Ajax, Forever Iframe, sondeo JSONP) y elige la mejor tecnología según las capacidades del navegador del cliente.

Alternativa

También puede usar un intervalo de JavaScript para sondear periódicamente el servidor (a través de AJAX) para ver si se ha configurado el temporizador. Sin embargo, puede inundar su servidor con solicitudes ya que cada cliente sondeará constantemente el servidor para determinar si el temporizador de 60 segundos se ha iniciado.