Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > Исходящие данные от скрипта


Автор: PPS05 15.3.2008, 22:03
Задача такая: нужно реализовать диалог клиента со скриптом на хостинге, причем неограниченый по времени.  Как проще решить? web-запрос оборвется по time-out, а желательно, чтобы клиент не должен был бы опрашивать сервер, но сервер должен в любой момент уметь передать данные клиенту.

Автор: skyboy 15.3.2008, 22:23
Цитата(PPS05 @  15.3.2008,  21:03 Найти цитируемый пост)
чтобы клиент не должен был бы опрашивать сервер, но сервер должен в любой момент уметь передать данные клиенту. 

в таком случае у клиента должен быть запущен сервер и у клиента должен быть прямой "белый" IP. иначе - никак. сервер не сможет передать данные по неизвестному адресу.

Автор: awers 16.3.2008, 01:32
Откровенно говоря я так и непонял вопроса. 
Есть запрос, есть ответ ... и т.д. Что значит диалог? Это больше на ajax похоже, а не на php.

Автор: PPS05 16.3.2008, 10:48
awers, мне нужно, чтобы сервер мог передать данные клиенту1 без его запроса (по какому-то своему событию). Подробнее - сервер должен при изменении записи в БД (например, от другого клиента2) передать эти данные клиенту1.

Автор: Feldmarschall 16.3.2008, 12:42
PPS05, давай ты перестанешь говорить загадками и совершать загадочные пассы руками.
Для твоего расплывчатого, ничего не значащего описания ответ дал skyboy - какие условия должны быть на клиенте.
Если же ты хочешь более точного ответа, то постарайся задать более точный вопрос. Ты обратился на форум к специалистам, и, скорее всего, кто-то решал уже задачу, подобную твоей. И может дать совет. Если ты объяснишь реальную задачу.
У доктора ты тоже так себя ведешь - "доктор, что делать если, к примеру, болит?". Или ,все-таки, рассказываешь, что конкретно болит, и как?

Не хочешь рассказывать - тогда сам. Тоже не бином ньютона, НТТР - протокол открытый. Находишь сайт с нужным тебе функционалом, запускаешь НТТР сниффер - и вперед, смотреть, какие соединения устанавливаются, кто к кому обращается, и куда. 

Автор: awers 16.3.2008, 15:45
PPS05, тогда понятно. Думаю что вебом или во всяком случае голым пхп - тебе этого не сделать. 
skyboy, тебе дал развернутый ответ )

Автор: flashaa 16.3.2008, 16:01
Это к вопросу об организации постоянного соединения сервера и клиента. Сколько уже таких тем было, не пересчитать. 
Есть такая технология comet, которая позволяет после отправки одного запроса не закрывать соединение(протокол HTTP подразумевает закрытие соединения после каждого запроса). 
В википедии можно почитать по ссылке: http://en.wikipedia.org/wiki/Comet_(programming)
Сам не читал (ознакомлюсь в ближайшее время), но со слов тех, кто мне рекомендовал ссылку, проблема автора решиться. Правда эта задачка довольно нетривиальная.

Автор: PPS05 16.3.2008, 22:07
flashaa, это то, что надо! Буду разбираться.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)