
Непрерывный контекст в чате
Модератор: Absurd
Все только говорят мне кругом, что это делается на джабе, но никто не дает пример! У кого есть пример непрерывной загрузки сообщений с сервера, дайте пожайлуста. Если можно, то что-бы код не зависел от браузера и желательно учитывал наличие демона который и высылает сообщения. Заранее благодарен 

а задачу четко сформулировать ???
че-то ничего не понял из сообщения
че-то ничего не понял из сообщения
В SAD - все в SAD.
Мне нужно что-бы в окно чата данные загружались без обновления окна (добавлялись в конец существующих). Доспустим у юзера в окне есть уже какие-то сообщения, если кто-то из других юзеров написал сообщение, то у того сразу же оно появилось в окне браузера, при этом оставив уже существующие сообщения.
имеется ввиду, что у клиента будет апплет, а не html фреймы.
через фреймы такое НАВЕРНО можно сделать путем махинации с JavaScript.
пишешь апплет, принцип его работы такой же, как и у обычного чата: запрашивать БД через определенные интервалы. Только аплет будет например получать только новые сообщения и добавлять их к списку имеющихся уже у него.
через фреймы такое НАВЕРНО можно сделать путем махинации с JavaScript.
пишешь апплет, принцип его работы такой же, как и у обычного чата: запрашивать БД через определенные интервалы. Только аплет будет например получать только новые сообщения и добавлять их к списку имеющихся уже у него.
в принципе, если подкорректировать политики, то можно создать и прямое соединение точка-точка и получать данные в реальном времени.
в общем - смотри на апплеты.
будут конкретные вопросы - пиши
в общем - смотри на апплеты.
будут конкретные вопросы - пиши
В SAD - все в SAD.
можно сделать невидимый фрейм, который будет получать порцию новых сообщений. этот фрейм должен обновляться каждый например 5 сек.
в свойство onLoad() сделать ему функцию, которая будет находить во фрейме с сообщениями определенное место и вставлять в него сообщения.
то есть типа такого:
фрейм с сообщениями
фрейм, получающий сообщения:
где аргументы для replace делать hardcoded.
то есть фрейм обновляется, вставляет очередную порцию сообщений в чат.
так как javascript не знаю, написал все условно
в свойство onLoad() сделать ему функцию, которая будет находить во фрейме с сообщениями определенное место и вставлять в него сообщения.
то есть типа такого:
фрейм с сообщениями
Код: Выделить всё
<html>
...
<div id='messagelist'>
<div id='message001'>
...
</div>
<div id='newmessage'>
</div>
</div>
...
</html>
Код: Выделить всё
<html>
<meta... refresh='5'>
...
<body onload='update()'>
...
<script...>
function update() {
document.findFrame("messages").replace("<div id='newmessage'></div>", "<div id='message059'>...</div><div id='newmessage'></div>");
}
</script>
...
</html>
то есть фрейм обновляется, вставляет очередную порцию сообщений в чат.
так как javascript не знаю, написал все условно

А вообще без джабы такое реально реализовать на php или python например? А вот насчет прямого соединения - можете расказать поподробней как это сделать?
А что значит hardcoded?
- Oscar
- Сообщения: 963
- Зарегистрирован: 29 май 2004, 13:44
- Откуда: Мюнхен (рожден в Киеве)
- Контактная информация:
IUnknown,
Без Java это реализовать реально, поскольку подобных чатов полно.
Насчет прямого соединения (это через Java-applet), тебе прийдётся просить каждого пользователя понизить безопасность при просмотре твоей страницы (я бы не согласился это делать, если я о твоём чате ничего не знаю).
hardcoded, предполагаю, что имелось ввиду, что html/js текст для фрейма должен создаваться серверным языком программирования (из БД, или файлов, в зависимости от реализации) и в результате в фрейме, в ф-ции update уже сразу должен быть нужный текст.
Без Java это реализовать реально, поскольку подобных чатов полно.
Насчет прямого соединения (это через Java-applet), тебе прийдётся просить каждого пользователя понизить безопасность при просмотре твоей страницы (я бы не согласился это делать, если я о твоём чате ничего не знаю).
hardcoded, предполагаю, что имелось ввиду, что html/js текст для фрейма должен создаваться серверным языком программирования (из БД, или файлов, в зависимости от реализации) и в результате в фрейме, в ф-ции update уже сразу должен быть нужный текст.
именно это и имелось ввиду.Oscar писал(а):hardcoded, предполагаю, что имелось ввиду, что html/js текст для фрейма должен создаваться серверным языком программирования (из БД, или файлов, в зависимости от реализации) и в результате в фрейме, в ф-ции update уже сразу должен быть нужный текст.
серверный скрипт можно писать хоть на java, хоть
IUnknown писал(а):на php или python