Wygląda na to, że będziesz potrzebować COMET/Push rozwiązanie, które pozwoli Ci monitorować aktywnych klientów i wysyłać do nich nowe dane. Nie jestem pewien, czy PHP jest najlepszym rozwiązaniem, ponieważ istnieją inne języki programowania, które radzą sobie z tym bardziej elegancko.
Zobacz:Używasz komety z PHP?
Inni mogą się nie zgodzić, ale Node.js to doskonałe i nadchodzące rozwiązanie tego konkretnego problemu. Połącz Node.js z Socket.io i masz podstawowe narzędzia do implementacji dokładnie tego, co opisujesz.
Krótko mówiąc, aplikacja kliencka wyśle żądanie AJAX do serwera. Serwer wstrzyma żądanie do czasu, aż będzie miał coś do zwrócenia (w twoim przypadku – odliczanie uruchomione, odliczanie odliczane, odliczanie wstrzymane itp.). Jak tylko dane zostaną zwrócone, kolejne żądanie zostanie wysłane i zatrzymane przez serwer, tym samym powtarzając proces. Jeśli Twój serwer i klient obsługuje WebSocket , można uniknąć wstrzymanych połączeń AJAX na rzecz połączenia WebSocket (TCP przez HTTP).
Ponieważ nie wszyscy korzystają z najnowszej wersji Chrome/Firefox, prawdopodobnie będziesz musiał obsługiwać wiele metod push, aby zapewnić zgodność z różnymi przeglądarkami. Socket.io abstrahuje warstwę komunikacyjną (Comet - długie odpytywanie, WebSockets, Adobe Flash Socket, wieloczęściowe przesyłanie strumieniowe Ajax, Forever Iframe, JSONP Polling) i wybiera najlepszą technologię w oparciu o możliwości przeglądarki klienta.
Alternatywna
Możesz również użyć interwału javascript, aby okresowo odpytywać serwer (za pośrednictwem AJAX), aby sprawdzić, czy ustawiono zegar. Możesz jednak zalać serwer żądaniami, ponieważ każdy klient będzie stale odpytywał serwer, aby określić, czy rozpoczął się 60-sekundowy licznik czasu.