Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: опрос сервера на javascript
Форумы портала PHP.SU » Клиентская разработка » JavaScript & VBScript » опрос сервера на javascript

Страниц (1): [1]
 

1. dikiyprapor50 - 15 Августа, 2010 - 23:02:52 - перейти к сообщению
возможно ли сделать так чтобы скрипт посылал запрос на сервер, например на наличие новых сообщений, и при положительном ответе перезагружал какой-нибудь элемент (и какой элемент лучше?) ну в крайнем случае всю страницу?

прошу любые намеки на то как это сделать.
2. Uchkuma - 15 Августа, 2010 - 23:28:55 - перейти к сообщению
Я думаю, в сторону ajax копать надо. Конечно возможно.
3. JustUserR - 16 Августа, 2010 - 02:04:42 - перейти к сообщению
dikiyprapor50 пишет:
Возможно ли сделать так чтобы скрипт посылал запрос на сервер, например на наличие новых сообщений
Для динамического взаимодейтсвия JS-скрипта и удаленного web-сервера для осуществелия запросов по получению обновленной информации - как правило используется специальный способ В том случае если частота требуемых проверок не является достаточно высокой то можно использовать осуществление запросов по таймеру - однако при увеличении частоты возрастает нагрузка и теряется эффективность Более предполчитетльным вариантом является поддержание постоянного TCP-соединения - в рамках которого периодически клиент и сервер будут обмениваться информацией об обновляемых данных В качестве конкретной реализации такой системы можно посмотреть этот проект http://dklab[dot]ru/lib/dklab_realplexor
4. Ammy - 24 Августа, 2010 - 02:48:46 - перейти к сообщению
Называется polling. Теорию смотреть здесь.
5. JustUserR - 24 Августа, 2010 - 15:21:24 - перейти к сообщению
Ammy пишет:
Называется polling. Теорию смотреть здесь.
Для реализации обмена информацией с удаленным web-сервером в режиме реального времени более эффективным способом является использовать постоянного TCP-соденинения - даже в том случае если HTTP-соединения устанавливается в режиме keep-alive то передаваемый объем данных будет достточно велик и к тому же запуск процесса CGI-скрипта будет занимать дополнительные ресурсы По этой причине можно использовать схему с содержание на серверной стороне постоянно рабоюащего процесса обслуживания по шлюзу CGI - и он будет в постоянном соеднении отправлять клиенту последовательный набор chunk-данных - которые будут иметь фиксированный размер пакета по буферу и обрабатываться в реальном временм - также в некоторых случаях удобно использование технологии FastCGI
6. Ammy - 26 Августа, 2010 - 11:58:23 - перейти к сообщению
JustUserR, слишком сложно, простите, для простой проверки наличия новых сообщений. Проще установить соединение (с тайм-аутом в 15-20 секунд) при помощи объекта XMLHttpRequest, отправляя запросы скрипту, который просто не будет отвечать, пока не пришло, например, новое сообщение (сработало событие).
7. JustUserR - 27 Августа, 2010 - 18:13:30 - перейти к сообщению
Ammy пишет:
JustUserR, слишком сложно, простите, для простой проверки наличия новых сообщений
Если необходимо определять появление новых сообщений на сервере и выполнять их отображение пользователю - то действительно можно использовать отдельные последовательные запросы с некоторым интервалом ожидания - тем не менее в случае создания систем с требуемой постоянной проверкой обновления со стороны сервера - то удобно использовать непрерывное соединение особенно при больших нагрузках

 

Powered by ExBB FM 1.0 RC1