Jake
Гость
|
|
« : 20-01-2006 14:03 » |
|
Доброго времени суток! Задача состоит в том, чтобы по определенному событию на сервере изменить у клиента загруженную страницу. Возможно ли это сделать средствами PHP? Поддерживает ли PHP push ? Спасибо
|
|
|
Записан
|
|
|
|
RomCom
|
|
« Ответ #1 : 20-01-2006 17:03 » |
|
ИМХО такое возможно сделать только через JavaScript путем вызова скрипта по таймеру, т.к. http сервера работают по принципу "получил данные, запустил скрипт, отправил данные и забыл", а для того что-бы реагировать на события надо постоянное подключене.
|
|
|
Записан
|
R.O.M.C.O.M.: Robotic Operational Mathematics and Ceaseless Observation Machine
|
|
|
PantiL
Гость
|
|
« Ответ #2 : 21-01-2006 19:38 » |
|
Речь идет о событии на сервере, поэтому по JS надо забыть. Видимо на Php такого не сделать
|
|
|
Записан
|
|
|
|
RXL
Технический
Администратор
Offline
Пол:
|
|
« Ответ #3 : 22-01-2006 10:47 » |
|
Jake, клиенту глубоко начихать на сервер! Согласно протоколу HTTP, возможно только обращение клиент->сервер. Потому, клиент сам должен опрашивать сервер и проверять наступление события. Потому и рекомендуем JavaScript.
|
|
|
Записан
|
... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
|
|
|
xelos
Гость
|
|
« Ответ #4 : 22-01-2006 12:51 » |
|
так и в html можно сделать редирект на себя (страницу в смысле) с определенным интервалом времени.
|
|
|
Записан
|
|
|
|
RXL
Технический
Администратор
Offline
Пол:
|
|
« Ответ #5 : 22-01-2006 13:11 » |
|
xelos, можно, но не всегда подходит, т.к. приводит к перезагрузке страницы просто по времени, а не по событию, определяемому сервером.
Я пока видел только подходящих три приложения для refresh: редиректы на другие страницы, фреймовые страницы с часто обновляемыми блоками (логи, чаты, статистическая информация, состояния чего-либо и т.п.) и страницы загрузки файлов (для описания скачиваемого и возможности скачать вручную, если refresh не сработал). В других случаях - инструмент грубый.
Хотя, можно и так! Пока писал, пришло в голову: можно сделать скрытый фрейм, в котором будет периодически обновляться страница, в которой будет включен js-код, который будет генерироваться сервером и, соотв., осуществлять реакции клиента на события сервера. Это то же получается опрос сервера. Причем, пользователь может и не заметить происходящего.
|
|
|
Записан
|
... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
|
|
|
xelos
Гость
|
|
« Ответ #6 : 22-01-2006 14:36 » |
|
так все равно метод решения - переодический опрос сервера клиентом, как бы не было реализовано (хоть на php, хоть на JS), причем с точки зрения http одно и то же будет.
либо включать в страницу аплет жава, который реализует какую-либо коммуникационную модель с сервером и писать соответствующий скрипт на сервере.
|
|
|
Записан
|
|
|
|
Jake
Гость
|
|
« Ответ #7 : 23-01-2006 09:29 » |
|
Спасибо за ответы. Хочется именно обойтись без запросов к серверу. На сервере запускается некоторый script, который перезагружает страницу у определенного клиента (не у любого) Я рассчитывал на PUSH технологии, но, видимо, не совсем понимаю, что это такое
|
|
|
Записан
|
|
|
|
MOPO3
Ай да дэдушка! Вах...
Команда клуба
Offline
Пол:
Холадна аднака!
|
|
« Ответ #8 : 23-01-2006 10:16 » |
|
Я рассчитывал на PUSH технологии, но, видимо, не совсем понимаю, что это такое
Хмм... действительно, а что это такое ?
|
|
|
Записан
|
MCP, MCAD, MCTS:Win, MCTS:Web
|
|
|
|
Jake
Гость
|
|
« Ответ #10 : 23-01-2006 14:13 » |
|
По-моему, это не то. Запрос все равно инициируется клиентом.
|
|
|
Записан
|
|
|
|
Sla
|
|
« Ответ #11 : 23-01-2006 14:27 » |
|
Чтобы клиент узнал о событии на сервере он должен к нему обратиться Или же сам должен служить "сервером" принимающим события от сервера Соответсвенно нужно что-то такое все время держащее руку на связи.
|
|
|
Записан
|
Мы все учились понемногу... Чему-нибудь и как-нибудь.
|
|
|
|