Strict Standards: Resource ID#18 used as offset, casting to integer (18) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401

Strict Standards: Resource ID#23 used as offset, casting to integer (23) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401

Strict Standards: Resource ID#25 used as offset, casting to integer (25) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401

Strict Standards: Resource ID#26 used as offset, casting to integer (26) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401
ТвойWeb :: Принцип обновления окна чата без моргания
ТвойWeb ТвойWeb
Качественный Европейский хостинг
Форум для чайников
 Чат на форуме      Помощь      Поиск      Пользователи


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

> Без описания
funnyman
Отправлено: 17 Августа, 2009 - 07:33:15
Post Id



Junior Member


Покинул форум
Сообщений всего: 88
Дата рег-ции: Апр. 2009  

Карма 0




Кто-нить может коротко обяснить (или дать ссылки) как осуществляется сам принцип обновления окна чата без мерцания, на подобии поточного чата?
Интересен сам принцип и конечно если можно на каком-нибудь примере это увидеть.
Что вообще используется для этого как реализовать....?
Желательно попроще как-нибудь.....

(Отредактировано автором: 17 Августа, 2009 - 07:34:04)

 
 Top
Furax
Отправлено: 17 Августа, 2009 - 08:35:50
Post Id



Бледнотик


Покинул форум
Сообщений всего: 1472
Дата рег-ции: Март 2007  
Откуда: Иркутск, Сибирь, СССР

Карма 32




Под "морганием" подразумеваются неприятные эффекты при перезагрузке страницы? Обычно используют AJAX, т. е. реализуют подгрузку новых сообщений средствами JavaScript (или даже Flash...), не перезагружая каждый раз страницу.
 
 Top
funnyman
Отправлено: 17 Августа, 2009 - 09:20:07
Post Id



Junior Member


Покинул форум
Сообщений всего: 88
Дата рег-ции: Апр. 2009  

Карма 0




Furax пишет:
Под "морганием" подразумеваются неприятные эффекты при перезагрузке страницы?

Именно.
Furax пишет:
Обычно используют AJAX, т. е. реализуют подгрузку новых сообщений средствами JavaScript (или даже Flash...), не перезагружая каждый раз страницу.

С флешем мне конечно удобнее, так как лучше знаком.
Но с AJAX даже не представляю как.
А других путей нет никаких, например через джаваскрипт или может быть через кукки....?
 
 Top
Furax
Отправлено: 18 Августа, 2009 - 00:56:36
Post Id



Бледнотик


Покинул форум
Сообщений всего: 1472
Дата рег-ции: Март 2007  
Откуда: Иркутск, Сибирь, СССР

Карма 32




Куки тут не при чём, а AJAX - это и есть связка "JavaScript + серверная часть".
 
 Top
funnyman
Отправлено: 18 Августа, 2009 - 07:03:31
Post Id



Junior Member


Покинул форум
Сообщений всего: 88
Дата рег-ции: Апр. 2009  

Карма 0




Куки - это то что записывается на комп. Т.е. если это уже есть на компе, то обновлять это уже не нужно.
Ну это ладно, нет так нет.
Да и разбираться с ними не охото.

А есть какое-нибудь простое решение, чтобы заставить браузер обновляться не тупо например через каждые 10 секунд, а только тогда, когда кто-то запостил строчку в чате?
Простое решение есть? Без аякса и флеша.

Просто я пробовал делать через флеш. Но там идёт сильное потребление трафика и нагрузка на сервер за счёт большого обращения к серверу.
 
 Top
Furax
Отправлено: 18 Августа, 2009 - 09:32:57
Post Id



Бледнотик


Покинул форум
Сообщений всего: 1472
Дата рег-ции: Март 2007  
Откуда: Иркутск, Сибирь, СССР

Карма 32




funnyman пишет:
Куки - это то что записывается на комп. Т.е. если это уже есть на компе, то обновлять это уже не нужно.
Вот именно. Поэтому, когда кто-то запостит новую строчку, появиться в куках она в принципе не сможет... Да и не влезет ни один чат в куки по размеру - там весьма жёсткие ограничения.

funnyman пишет:
А есть какое-нибудь простое решение, чтобы заставить браузер обновляться не тупо например через каждые 10 секунд, а только тогда, когда кто-то запостил строчку в чате?
А откуда браузер это должен узнавать? При работе по HTTP у сервера нет возможности обращаться к клиенту, поскольку соединение рвётся сразу по окончании передачи данных. Поэтому обычно просто заставляют браузер через некоторые промежутки времени получать свежую порцию данных - обновляя страницу или JavaScriptом.

Другое дело - Flash, там в последних версиях ActionScript, насколько я знаю, уже есть возможности держать соединение. Однако и серверную часть придётся делать не на PHP, поскольку большинство хостов (в первую очередь - бесплатных) кончает выполняющийся скрипт уже через 30 секунд, и все его соединения, разумеется, рвутся. Придётся ставить своё серверное приложение - как и делается, например, при создании IRC-чатов, к которым встречаются, в том числе, и Flash-клиенты.

Поэтому, если не собираешься заниматься настройкой серверов - используй периодическую подгрузку данных. Пример есть, например, здесь.
 
 Top
funnyman
Отправлено: 18 Августа, 2009 - 11:38:08
Post Id



Junior Member


Покинул форум
Сообщений всего: 88
Дата рег-ции: Апр. 2009  

Карма 0




Furax
Я думал есть что-то из простых решений.
Ну тогда пусть моргает.... добрые 90-ые! было же время... Улыбка
 
 Top
yura3d
Отправлено: 19 Августа, 2009 - 12:29:00
Post Id


Super Member


Покинул форум
Сообщений всего: 624
Дата рег-ции: Июль 2007  
Откуда: Минск, Беларусь

Карма 17




Наиболее простой вариант (глубоко не вдаваясь в тонкости Ajax) - использовать скрытый фрейм (ифрейм). Тогда содержимое фрейма можно обновлять обыкновенным рефрешем, а подгруженный во фрейме текст копировать во фрейм (слой) с сообщениями, для этого подойдёт простейший метод на основе innerHTML. Скрипт отдачи сообщений нужно переписать таким образом, чтобы он отдавал пользователям только новые сообщения, это в разы сократит потребляемый траффик
 
 Top
yura3d
Отправлено: 19 Августа, 2009 - 12:36:42
Post Id


Super Member


Покинул форум
Сообщений всего: 624
Дата рег-ции: Июль 2007  
Откуда: Минск, Беларусь

Карма 17




Только что подгруженные сообщения будут добавляться к уже существующим в основном фрейме (слое) с сообщениями, никакие куки при этом не задействуются. Говорю это как автор чата, на который Furax привёл ссылку выше
 
 Top
ETC Администратор
Отправлено: 19 Августа, 2009 - 23:13:21
Post Id



Flash-coder


Покинул форум
Сообщений всего: 5275
Дата рег-ции: Дек. 2003  
Откуда: TimeZero

Карма 26




Угу и пара сотен пользователей завалят весь хост.
 
 Top
Страниц (2): [1] 2 »
Сейчас эту тему просматривают: 7 (гостей: 7, зарегистрированных: 0, скрытых: 0)
« PHP/Perl »


Все гости форума могут просматривать этот раздел.
Только администраторы и модераторы могут создавать новые темы в этом разделе.
Только администраторы и модераторы могут отвечать на сообщения в этом разделе.
 



Форум на AlfaSpace.NET


Powered by ExBB
ExBB FM 1.0 RC1 by TvoyWeb.ru
InvisionExBB Style converted by Markus®

[Script Execution time: 0.0509]     [ Gzipped ]



Notice: ob_end_flush(): failed to send buffer of ob_gzhandler (1) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/page_tail.php on line 33