чат в реальном времени @ DeForum.ru
DeДверь  
Логин:  
Пароль:  
  Автологин  
   
Разместить рекламу
Письмо админу
Правила | FAQ | *Поиск | Наша команда | Регистрация | Вход
 
 
 Страница 1 из 1 [ Сообщений: 27 ] 
*   Список форумов / Начинка и техника / Программирование для WWW » ответить » создать топик « | »
Автор Сообщение
<deef>
0
Заголовок сообщения: чат в реальном времени
Сообщение Добавлено: 12 Июнь 2002, 15:51:00 
http://hiphop.cool.ru/free
чат неплохой, но охота сделать его в реальном времени, а не обновлением страницы сообщений череz определенное время.. как это можно проиzвести? очень прошу помочь
   
Crazy Муж.
Модератор
107
Сообщения: 14561
Зарегистрирован: 23.12.01
Откуда: Moscow
Заголовок сообщения: чат в реальном времени
Сообщение Добавлено: 13 Июнь 2002, 01:58:00 
А что, "meta refresh" (я угадал?) -- это не "обновление страницы через определенное время"?

Правильный ответ: не надо извращаться. Для чатов есть IRC.

[ 13 Июня 2002: Исправлено Crazy ]
hokum
соучастник
4
Сообщения: 637
Зарегистрирован: 21.05.02
Откуда: GMT +24:00
Заголовок сообщения: чат в реальном времени
Сообщение Добавлено: 13 Июнь 2002, 09:29:00 
Crazy, угадал [img]images/smiles/icon_smile.gif[/img]

да, для чатов, конечно, есть irc. но не всегда это лучший вариант, вебские чаты не умрут никогда. но irc лучше!

есть абсолютно клевый вариант. можно создать канал в irc и ставить на сервер пакет скриптов для доступа в irc через вебу. и люди смогут пользовать тем клиентом, который им больше нравится, и все будут довольны.
Crazy Муж.
Модератор
107
Сообщения: 14561
Зарегистрирован: 23.12.01
Откуда: Moscow
Заголовок сообщения: чат в реальном времени
Сообщение Добавлено: 13 Июнь 2002, 10:05:00 
<BLOCKQUOTE><font size="1" face="Verdana, Tahoma, sans-serif">quote:</font><HR>Автор Сообщения hokum:
<STRONG>да, для чатов, конечно, есть irc. но не всегда это лучший вариант, вебские чаты не умрут никогда. </STRONG><HR></BLOCKQUOTE>

Это всегда лучший вариант. [img]images/smiles/icon_smile.gif[/img]

На случай, когда ПРИНЦИПИАЛЬНО нет возможности использовать обычного irc-клиента, можно использовать подгружаемого irc-клиента в виде applet'а. Если мне не изменяет мой склероз, кто-то его написал пару лет назад...

Делать же чат на HTML -- это все равно что подтираться наждачной бумагой. Т.е. проблему решает, но как-то стремно...
hokum
соучастник
4
Сообщения: 637
Зарегистрирован: 21.05.02
Откуда: GMT +24:00
Заголовок сообщения: чат в реальном времени
Сообщение Добавлено: 13 Июнь 2002, 11:24:00 
простейший выход: перегружай страницу через meta
hokum
соучастник
4
Сообщения: 637
Зарегистрирован: 21.05.02
Откуда: GMT +24:00
Заголовок сообщения: чат в реальном времени
Сообщение Добавлено: 13 Июнь 2002, 13:13:00 
ой тормозно будет с апплетом...
Crazy Муж.
Модератор
107
Сообщения: 14561
Зарегистрирован: 23.12.01
Откуда: Moscow
Заголовок сообщения: чат в реальном времени
Сообщение Добавлено: 13 Июнь 2002, 13:47:00 
Продай свою i486DX-66Mhz. [img]images/smiles/icon_smile.gif[/img] Я ее даже готов у тебя купить за $10. [img]images/smiles/icon_smile.gif[/img]
hokum
соучастник
4
Сообщения: 637
Зарегистрирован: 21.05.02
Откуда: GMT +24:00
Заголовок сообщения: чат в реальном времени
Сообщение Добавлено: 13 Июнь 2002, 15:00:00 
ну, мою конфигурацию ты далеко не угадал [img]images/smiles/icon_smile.gif[/img]

я, может, и не напрягусь апплетом, а вот какой-нибудь обладатель указанной тобой игрушки - да. а как ему хотелось на этот чат зайти, ыыыы.… для него же в итоге всё это делается!
Crazy Муж.
Модератор
107
Сообщения: 14561
Зарегистрирован: 23.12.01
Откуда: Moscow
Заголовок сообщения: чат в реальном времени
Сообщение Добавлено: 13 Июнь 2002, 15:03:00 
Ты полагаешь, что обладатель означенной конфигурации сможет без напрягов использовать HTML'ный чат? [img]images/smiles/icon_smile.gif[/img]
Hemule
новый человек
0
Сообщения: 56
Зарегистрирован: 01.03.02
Заголовок сообщения: чат в реальном времени
Сообщение Добавлено: 13 Июнь 2002, 16:20:00 
Господа, а по сути ? [img]images/smiles/icon_smile.gif[/img]
hokum
соучастник
4
Сообщения: 637
Зарегистрирован: 21.05.02
Откуда: GMT +24:00
Заголовок сообщения: чат в реальном времени
Сообщение Добавлено: 13 Июнь 2002, 17:00:00 
4Crazy: не полагаю, а абсолютно в этом уверен! Хотя слово "напряг" весьма растяжимое.

А что по сути-то... Чтобы чат работал в режиме реального времени, он должен быть написан не на html.
Все равно надо время от времени обращаться к серверу за новой порцией данных. Deef'у, если исходить из сути вопроса, не нравится, что страница решфрешится, хочется чтобы новые данные появлялись на ней без перезагрузки оной.
А что, это в принципе реально сделать. Правда, не одной реализации еще не видел, но идею излагаю.

Берем какой-нибудь iframe или frame, скрываем их от взора пользователя. Эти фреймы и будут перегружаться через какое-то время, доставляя новую информацию. Далее пишем модный Javascript, которые берет данные из этого перегружаемого фрейма и сует их innerHTML'ом в нужное место на основной странице.
Crazy Муж.
Модератор
107
Сообщения: 14561
Зарегистрирован: 23.12.01
Откуда: Moscow
Заголовок сообщения: чат в реальном времени
Сообщение Добавлено: 13 Июнь 2002, 18:48:00 
Видел я эту реализацию. Очень хорошо работает. Два фрейма, один из которых фактически невидим. Он рефрешится с некоторой частотой и после загрузки добавляет данные в видимый фрейм.

Отличие от описанного тобой лишь в том, что активность проявлял именно перегружаемый невидимый фрейм.
Intelligent
новый человек
0
Сообщения: 243
Зарегистрирован: 31.05.01
Откуда: ../
Заголовок сообщения: чат в реальном времени
Сообщение Добавлено: 14 Июнь 2002, 01:39:00 
млин, мне надоело уже сувать везде свой чат …. но помогает [img]images/smiles/icon_smile.gif[/img]
не мне разумеется, а дискуссии. [img]images/smiles/icon_smile.gif[/img] http://tyt.co.il/chat/

именно так как обсуждается реализован. есть фрейм, который правда не обновляется, а то будет кликать через динамики постоянно, а стримится, то есть - просто не кончается никак. если нечего передать с сервера, то он слипит. а клиент - ждёт. как только новая мессага - она принтится на сервере, а клиент её док.врайтит в главный фрейм.

фреймов правда у меня много …
Crazy Муж.
Модератор
107
Сообщения: 14561
Зарегистрирован: 23.12.01
Откуда: Moscow
Заголовок сообщения: чат в реальном времени
Сообщение Добавлено: 14 Июнь 2002, 03:48:00 
<BLOCKQUOTE><font size="1" face="Verdana, Tahoma, sans-serif">quote:</font><HR>Автор Сообщения hokum:
<STRONG>хотя, что ты имеешь в виду под "активностью"?</STRONG><HR></BLOCKQUOTE>

Обмен данными между фпеймами может инициировать как видимый фрейм (по таймеру), так и невидимый (по загрузке). Второй способ, как мне кажется, удобнее.

Может быть, есть и третий способ. [img]images/smiles/icon_smile.gif[/img]
Long Муж.
SubAdmin
Теоретик
17
Сообщения: 4362
Зарегистрирован: 25.04.01
Откуда: Москва
Заголовок сообщения: чат в реальном времени
Сообщение Добавлено: 14 Июнь 2002, 10:17:00 
Crazy маленькое замечание - перезагрузка невидимого фрейма все равно по таймауту происходит.
На самом деле, почему-то все забыли про другой способ - вешается некий демон на сервере, который поддерживает постоянное соединение с клиентом. Не все хостинги это позволяют, но на некоторых (даже бесплатных) можно это ограничение обойти. [img]images/smiles/icon_wink.gif[/img]
hokum
соучастник
4
Сообщения: 637
Зарегистрирован: 21.05.02
Откуда: GMT +24:00
Заголовок сообщения: чат в реальном времени
Сообщение Добавлено: 14 Июнь 2002, 11:34:00 
я и имел в виду, что перегружается - невидимый, данные передаются в видимый. хотя, что ты имеешь в виду под "активностью"?

ну, еще третий фрейм наверно надо предусмотреть, чтобы жестко закрепить форму ввода относительно текста.
Crazy Муж.
Модератор
107
Сообщения: 14561
Зарегистрирован: 23.12.01
Откуда: Moscow
Заголовок сообщения: чат в реальном времени
Сообщение Добавлено: 14 Июнь 2002, 12:01:00 
<BLOCKQUOTE><font size="1" face="Verdana, Tahoma, sans-serif">quote:</font><HR>Автор Сообщения Long:
<STRONG>Crazy маленькое замечание - перезагрузка невидимого фрейма все равно по таймауту происходит.</STRONG><HR></BLOCKQUOTE>

В том исходнике, что мне демонстрировали, использовали meta refresh. [img]images/smiles/icon_smile.gif[/img]

<BLOCKQUOTE><font size="1" face="Verdana, Tahoma, sans-serif">quote:</font><HR><STRONG>
На самом деле, почему-то все забыли про другой способ - вешается некий демон на сервере, который поддерживает постоянное соединение с клиентом. Не все хостинги это позволяют, но на некоторых (даже бесплатных) можно это ограничение обойти. [img]images/smiles/icon_wink.gif[/img]</STRONG><HR></BLOCKQUOTE>

Собственно, Intelligent вроде как именно про этот вариант и написал. А неиспользуется он обычно именно потому, что весьма вероятны проблемы с хостингом.

[ 14 Июня 2002: Исправлено Crazy ]
Intelligent
новый человек
0
Сообщения: 243
Зарегистрирован: 31.05.01
Откуда: ../
Заголовок сообщения: чат в реальном времени
Сообщение Добавлено: 14 Июнь 2002, 15:52:00 
А неиспользуется он обычно именно потому, что весьма вероятны проблемы с хостингом.
угу … есть малость … особенно если на сервере стоит mod_gzip - который ну никак не хочет работать с flush();

но тогда это решается - обновляющимся фреймом, нулевого размера, который не стримится, а рефрещится. раз в секунду-2.

и парент.скрин.документ.врайт(все мессаги что нада отпринтить)
Crazy Муж.
Модератор
107
Сообщения: 14561
Зарегистрирован: 23.12.01
Откуда: Moscow
Заголовок сообщения: чат в реальном времени
Сообщение Добавлено: 14 Июнь 2002, 15:59:00 
О! Вот он -- тот самый вариант, который я описывал. [img]images/smiles/icon_smile.gif[/img]

Тупо, но работает.
Intelligent
новый человек
0
Сообщения: 243
Зарегистрирован: 31.05.01
Откуда: ../
Заголовок сообщения: чат в реальном времени
Сообщение Добавлено: 14 Июнь 2002, 17:30:00 
не просто тупо ! идиотски просто [img]images/smiles/icon_smile.gif[/img]
но как работает ?!?! [img]images/smiles/icon_smile.gif[/img]
щёлкает ещё в добавку, как часы [img]images/smiles/icon_smile.gif[/img] и работает так же [img]images/smiles/icon_smile.gif[/img]
и следить за подключёнными юзерами удобнее.
вообщем - дизельный механизм.
правда траффик жрёт больше, засчёт :

"<!doctype...><html><head><title></title>"

но классный [img]images/smiles/icon_smile.gif[/img] где то видел такой чат, не помню адрес. если кто помнит - дайте. для полного собрания сочинений в этой ветке [img]images/smiles/icon_smile.gif[/img]
MpaK
новый человек
0
Сообщения: 41
Зарегистрирован: 25.06.02
Откуда: Ufa
Заголовок сообщения: чат в реальном времени
Сообщение Добавлено: 25 Июнь 2002, 19:18:00 
а как на счет смеси ирки с пхп скриптом, т.е. есть некий демон на сервере он слушает и готовит месаги для пхм скрипта, а он забирает только новые и выдает их пользователю??? есть идеи?
кто-нить программит под линуксом?
Michel Муж.
соучастник
0
Сообщения: 714
Зарегистрирован: 05.01.02
Откуда: Санкт-Петербург
Заголовок сообщения: чат в реальном времени
Сообщение Добавлено: 26 Июнь 2002, 11:10:00 
MpaK какой пров этого демона себе ставить разрешит?
hokum
соучастник
4
Сообщения: 637
Зарегистрирован: 21.05.02
Откуда: GMT +24:00
Заголовок сообщения: чат в реальном времени
Сообщение Добавлено: 26 Июнь 2002, 23:47:00 
я про этот самый php-irc в книжке прочитал. дал бы ссылку на это, но не работает она, ссылка эта. но если кто хочет - могу эту хрень с компакта к себе на сервак записать. надо?
iD Муж.
SubAdmin
Тоже креатор
13
Сообщения: 4359
Зарегистрирован: 17.11.01
Откуда: Moscow
Заголовок сообщения: чат в реальном времени
Сообщение Добавлено: 3 Июль 2002, 20:43:00 
почитал доки по mod_rewrite


<BLOCKQUOTE><font size="1" face="Verdana, Tahoma, sans-serif">code:</font><HR><pre>
Document With Autorefresh

Description:
Wouldn't it be nice while creating a complex webpage if the webbrowser would automatically refresh the page
every time we write a new version from within our editor? Impossible?
Solution:
No! We just combine the MIME multipart feature, the webserver NPH feature and the URL manipulation
power of mod_rewrite. First, we establish a new URL feature: Adding just :refresh to any URL causes
this to be refreshed every time it gets updated on the filesystem.

RewriteRule ^(/[uge]/[^/]+/?.*):refresh /internal/cgi/apache/nph-refresh?f=$1


Now when we reference the URL

/u/foo/bar/page.html:refresh


this leads to the internal invocation of the URL

/internal/cgi/apache/nph-refresh?f=/u/foo/bar/page.html


The only missing part is the NPH-CGI script. Although one would usually say "left as an exercise to the reader" ;-) I will provide this, too.

#!/sw/bin/perl
##
## nph-refresh -- NPH/CGI script for auto refreshing pages
## Copyright (c) 1997 Ralf S. Engelschall, All Rights Reserved.
##
$| = 1;

# split the QUERY_STRING variable
@pairs = split(/&/, $ENV{'QUERY_STRING'});
foreach $pair (@pairs) {
($name, $value) = split(/=/, $pair);
$name =~ tr/A-Z/a-z/;
$name = 'QS_' . $name;
$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
eval "\$$name = \"$value\"";
}
$QS_s = 1 if ($QS_s eq '');
$QS_n = 3600 if ($QS_n eq '');
if ($QS_f eq '') {
print "HTTP/1.0 200 OK\n";
print "Content-type: text/html\n\n";
print "<b>ERROR</b>: No file given\n";
exit(0);
}
if (! -f $QS_f) {
print "HTTP/1.0 200 OK\n";
print "Content-type: text/html\n\n";
print "<b>ERROR</b>: File $QS_f not found\n";
exit(0);
}

sub print_http_headers_multipart_begin {
print "HTTP/1.0 200 OK\n";
$bound = "ThisRandomString12345";
print "Content-type: multipart/x-mixed-replace;boundary=$bound\n";
&print_http_headers_multipart_next;
}

sub print_http_headers_multipart_next {
print "\n--$bound\n";
}

sub print_http_headers_multipart_end {
print "\n--$bound--\n";
}

sub displayhtml {
local($buffer) = @_;
$len = length($buffer);
print "Content-type: text/html\n";
print "Content-length: $len\n\n";
print $buffer;
}

sub readfile {
local($file) = @_;
local(*FP, $size, $buffer, $bytes);
($x, $x, $x, $x, $x, $x, $x, $size) = stat($file);
$size = sprintf("%d", $size);
open(FP, "<$file");
$bytes = sysread(FP, $buffer, $size);
close(FP);
return $buffer;
}

$buffer = &readfile($QS_f);
&print_http_headers_multipart_begin;
&displayhtml($buffer);

sub mystat {
local($file) = $_[0];
local($time);

($x, $x, $x, $x, $x, $x, $x, $x, $x, $mtime) = stat($file);
return $mtime;
}

$mtimeL = &mystat($QS_f);
$mtime = $mtime;
for ($n = 0; $n < $QS_n; $n++) {
while (1) {
$mtime = &mystat($QS_f);
if ($mtime ne $mtimeL) {
$mtimeL = $mtime;
sleep(2);
$buffer = &readfile($QS_f);
&print_http_headers_multipart_next;
&displayhtml($buffer);
sleep(5);
$mtimeL = &mystat($QS_f);
last;
}
sleep($QS_s);
}
}

&print_http_headers_multipart_end;

exit(0);

##EOF##

</pre><HR></BLOCKQUOTE>

[ 03 Июля 2002: Исправлено iD ]
nagash
новый человек
0
Сообщения: 29
Зарегистрирован: 08.07.02
Откуда: секретное место "Х"
Заголовок сообщения: чат в реальном времени
Сообщение Добавлено: 8 Июль 2002, 21:34:00 
http://chillout.net.ru/join.thtml
вот вам вариант такого чата...
в лутшем своём проявлении...

2крези... категорично не согласен что чаты надо в ирку переносить...

хтмл чаты очень даже себя оправдывают...
особенно если кому то хочется на работе посидеть!

ненадо своё мнение навязывать другим! =)
Crazy Муж.
Модератор
107
Сообщения: 14561
Зарегистрирован: 23.12.01
Откуда: Moscow
Заголовок сообщения: чат в реальном времени
Сообщение Добавлено: 8 Июль 2002, 22:11:00 
Не вижу связи между "на работе посидеть" и извращениями с реализацией чата поверх HTML.
nagash
новый человек
0
Сообщения: 29
Зарегистрирован: 08.07.02
Откуда: секретное место "Х"
Заголовок сообщения: чат в реальном времени
Сообщение Добавлено: 13 Июль 2002, 03:35:00 
ну почему извращениями? [img]images/smiles/icon_smile.gif[/img] отнюдь...
*   Список форумов / Начинка и техника / Программирование для WWW « | » » ответить » создать топик
 Страница 1 из 1 [ Сообщений: 27 ] 
Показать сообщения за:   Поле сортировки  
Найти:
Перейти:  
Уровень доступа: Вы не можете начинать темы. Вы не можете отвечать на сообщения. Вы не можете редактировать свои сообщения. Вы не можете удалять свои сообщения. Вы не можете добавлять вложения.
cron


ООО ДеФорум
При использовании материалов сайта ссылка на DeForum.ru — обязательна.
Проект Павла Батурина ©2001-2077; // Powered by phpBB © 2013 phpBB Group
Rambler's Top100