Не знал как правильно назвать тему. В общем идея такова. Предположим у меня есть таймер, который считает оставшееся время до какого-то события. Например до этого события осталось 1 минута. И _каждый_ пользователь должен видеть сколько времени осталось. Далее любой из пользователей может нажать на кнопку и увеличить таймер на 1 минуту (т.е. оставшееся время увеличится). И именно в эту секунду _все_ пользователи должны увидеть, что таймер продлился ещё на минуту. Вот у меня вопрос, как это можно реализовать? У меня была идея, хранить время события, по наступлению которого таймер остановится, в базе данных и кажду секунду проверять, не изменилось ли значение. Но это получается 1 запрос к БД каждую секунду от каждого пользователя. Мне кажется это очень плохо. Что ещё можно сделать? Заранее спасибо за ответ!
Так не получиться. Если извратиться, то можно ежесекундный запрос к серверу, но сервер упадет от большого кол-ва пользователей, о чем вы и пишете. Но по-другому не получится.
Недавно решал подобную задачу, решением стало как сказал Kreker, каждые n-секунд обращатся к серверу.
1. затея конечно же глупая. Много раз подумать прежде чем за нее бороться 2. каждый раз делать запрос на сервер не обязательно можно в iframe открыть документ что то типа того: PHP: <? set_time_limit(0); echo str_repeat(' ', 1024); // for ie while(true) { echo "<script>parent.updateServerTime(".time().")</script>\n"; flush(); usleep(500000);' } 3. если сильно надо не нагружая сервер то решать на C, C++ без баз данных, файлов, etc...
Ti, а что этот код делает? я не понимаю .... ну, каждые n-секунд, я бы давно сделал. но тут вся загвоздка в том, что бы обновление происходило, так сказать, в режиме реального времени.. может как-то ajax подключить?
Выводит в iframe код, который взаимодействует со страницей. При этом соединение с клиентом не обрывается.
http://javascript.ru/ajax/server-push/overview ATI Я был не совсем прав =) Век живи -- век учись. Конечно, браузер не заставишь с сервера к нему обращаться, но не закрывать соединение можно, оказывается. Читал уже давно про "бесконечный iframe", да забыл. На сайте еще несколько вариантов описано.