sql >> Databáze >  >> RDS >> Mysql

Javascript a PHP odpočítávací časovač, který zobrazuje všem stejně

Vypadá to, že budete potřebovat COMET/Push řešení, které vám umožní sledovat aktivní klienty a podsouvat jim nová data. Nejsem si jistý, že PHP je pro to nejlepší řešení, protože existují jiné programovací jazyky, které to zvládají elegantněji.

Viz:Používáte kometu s PHP?

Ostatní mohou nesouhlasit, ale Node.js je vynikajícím a přicházejícím řešením tohoto konkrétního typu problému. Zkombinujte Node.js s Socket.io a máte základní nástroje k implementaci přesně toho, co popisujete.

Stručně řečeno, klientská aplikace odešle požadavek AJAX na server. Server pak požadavek podrží, dokud nebude mít co vrátit (ve vašem případě - časovač spuštěn, časovač zaškrtl, časovač pozastaven atd.). Jakmile jsou data vrácena, bude proveden další požadavek a server jej zadrží, čímž se proces zopakuje. Pokud váš server a klient podporují WebSockets , pak se lze vyhnout drženým připojením AJAX ve prospěch připojení WebSocket (TCP přes HTTP).

Protože ne každý používá nejnovější verzi Chrome/Firefox, budete pravděpodobně muset podporovat více metod push, abyste byli kompatibilní s různými prohlížeči. Socket.io abstrahuje komunikační vrstvu (Comet – long polling, WebSockets, Adobe Flash Socket, Ajax multipart streaming, Forever Iframe, JSONP Polling) a vybírá nejlepší technologii na základě možností prohlížeče klienta.

Alternativa

Můžete také použít interval javascriptu k pravidelnému dotazování serveru (přes AJAX), abyste zjistili, zda byl nastaven časovač. Můžete však svůj server zahltit požadavky, protože každý klient bude server neustále dotazovat, aby zjistil, zda se spustil 60sekundový časovač.



  1. Spark SQL a MySQL – SaveMode.Overwrite nevkládá upravená data

  2. Jak nastavit časovač pro volání funkce každých n minut?

  3. Odebrání návratů vozíku v Mysql DB

  4. jak získat LAST_INSERT_ID prostřednictvím uložené procedury v php