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


Автор: lonli 16.9.2005, 10:00
Можно ли написать скрипты (Javascript+PHP) которые позволят создать на комп. юзера область памяти к которой будет иметь прямой доступ серверный скрипт (ПХП), а Javascript сможет проверить его содержимое.
Это позволило бы в разы уменьшит трафик и увеличить скорость передачи денных за счёт:
а) данные передаются с сервера лишь по необходимости (при изменении состояния)
b) не передаются "шапка" (или как это называется) http протокола

Автор: diam 16.9.2005, 11:17
http://forum.vingrad.ru/index.php?showtopic=53606, http://forum.vingrad.ru/index.php?showtopic=53291, а так же http://www.google.ru/search?hl=ru&q=XMLHttpRequest&btnG=%D0%9F%D0%BE%D0%B8%D1%81%D0%BA+%D0%B2+Google&lr= обсуждались эти темы. Это шаг в данном направлении.
Только, перед тем, как задавать второй вопрос, хорошенько подумай, и, естественно, внимательно прочитай информацию по приведённым ссылкам.

Автор: AlexVN 16.9.2005, 23:27
Не сказано главного :-)
Называется это все дело http://google.com/search?q=AJAX.
Почитать можно, например, на http://www.ajaxian.com/.
Пример приложения: http://gmail.com/.

Цитата
а) данные передаются с сервера лишь по необходимости (при изменении состояния)

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

Цитата
b) не передаются "шапка" (или как это называется) http протокола

На фоне общего трафика шапка протокола в 300 байт - капля в море.


Автор: kdn1990 24.5.2011, 18:07
AlexVN, есть ещё волшебные websocket'ы
там как раз таки 
Код
данные передаются с сервера лишь по необходимости (при изменении состояния)

Автор: InfMag 6.6.2011, 17:37
kdn1990, только надо напомнить, что какой-нибудь IE веб-сокеты ещё не скоро понимать будет, просто к сведению.

Автор: dstorm81 7.6.2011, 12:00
kdn1990 и InfMag получают звезды почетных археологов
и получают предложение прокомментировать http://forum.vingrad.ru/forum/topic-196.html  

Автор: Logo 7.6.2011, 13:03
Это называется уже не AJAX, а COMET. То есть технология инициализации сервером событий на клиенте.
Есть разные способы реализации, одна из - открывем соеденинеие через XMLHttpRequest без timeout, а серевер не отдает клиенту контент до момента, когда произошло событие на сервере (например, пришло новое сообщение в чат). Когда контент пришел, либо произошел разрыв соединения, отправляем новый запрос на сервер. Другой способ состоит в том, что бы открыть в iframe "бесконечную" страницу, а по мере возникновения событий сервер будет отсылать в нее теги <script> с инициализаторами событий. В этом случае соединение держится постоянно. 
Иногда достаточно просто периодически опрашивать сервер XMLHttpRequest'ом.

Есть и другие варианты. Хорошие статьи на тему есть на javascript.ru

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