Mysql
 sql >> база данни >  >> RDS >> Mysql

Таймер за обратно броене на Javascript и PHP, който показва едно и също за всички

Изглежда, че ще ви трябва COMET/Push решение, което ще ви позволи да наблюдавате активните клиенти и да им изпращате нови данни. Не съм сигурен, че PHP е най-доброто решение за това, тъй като има други езици за програмиране, които се справят с това по-елегантно.

Вижте:Използване на комета с PHP?

Други може да не са съгласни, но Node.js е отлично ново и предстоящо решение на този конкретен тип проблем. Комбинирайте Node.js с Socket.io и имате основните инструменти, за да приложите точно това, което описвате.

Накратко, клиентско приложение ще изпрати AJAX заявка до сървър. След това сървърът ще задържи заявката, докато има какво да върне (във вашия случай - таймер стартира, таймер е отметнат, таймер е на пауза и т.н.). Веднага след като данните бъдат върнати, ще бъде направена друга заявка и ще бъде задържана от сървъра, като по този начин процесът се повтаря. Ако вашият сървър и клиент поддържат WebSockets , тогава задържаните AJAX връзки могат да бъдат избегнати в полза на WebSocket (TCP през HTTP) връзка.

Тъй като не всеки използва най-новата версия на Chrome/Firefox, вероятно ще трябва да поддържате множество методи за натискане, за да сте съвместими с различни браузъри. Socket.io абстрахира комуникационния слой (Comet - дълга анкета, WebSockets, Adobe Flash Socket, Ajax multipart streaming, Forever Iframe, JSONP Polling) и избира най-добрата технология въз основа на възможностите на браузъра на клиента.

Алтернатива

Можете също така да използвате интервал на javascript за периодично анкетиране на сървъра (чрез AJAX), за да видите дали таймерът е зададен. Въпреки това, можете да затрупате сървъра си със заявки, тъй като всеки клиент постоянно ще допитва до сървъра, за да определи дали 60-секундният таймер е стартирал.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да стартирате MySQL сървър на Windows XP

  2. Използване на ЗНП в часовете

  3. Как да дадете всички привилегии на база данни в MySQL

  4. MySQL заявка за получаване на имена на колони?

  5. mysql.h файл не може да бъде намерен