Модераторы: LSD, AntonSaburov

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Интернет-чат на Ява. Очень легко. Почему некоторые на ПХП его пишут??? 
:(
    Опции темы
Tirael
Дата 7.2.2006, 14:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 154
Регистрация: 31.1.2006
Где: Москва

Репутация: 1
Всего: 7



Цитата(Wowa @ 7.2.2006, 03:57 Найти цитируемый пост)

Цитата(Tirael @ 7.2.2006, 01:50 )

отправляет сообщение, на серверной стороне оно получается и тут же рассылается всем пользователям


я думаю, что просто пользователи регулярно запрашивают новые сообщение сами, а не сервер их отсылает.

Ну по крайней мере здесь IBM Online courses: Building a Java Chat описывается именно такой механизм: на сервер приходит сообщение и тут же отправляется всем клиентам.

Цитата(sergej.z @ 7.2.2006, 04:15 Найти цитируемый пост)

Лучший вариант - явяскрипт с использованием XMLHTTPRequest. Экономим рессурсы на клиенте и сервере. Минимум передаваемого трафа, максимум скорости.

Возможно, но к сожалению smile я плохо знаком с JavaScrip'ом и никогда не использвал XMLHTTPRequest. Изучаю сейчас Servlets и JSP и хотел бы опробовать именно их "в бою".


Это сообщение отредактировал(а) Tirael - 7.2.2006, 14:57
--------------------
 
PM MAIL   Вверх
sergejzr
Дата 7.2.2006, 14:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Un salsero
Group Icon


Профиль
Группа: Админ
Сообщений: 13285
Регистрация: 10.2.2004
Где: Германия г .Ганновер

Репутация: 2
Всего: 360



Цитата(Nobody @ 7.2.2006, 11:41 Найти цитируемый пост)

Хех. Я делал так. Клиент открывает (в невидимом фрейме) коннект к серверу, сервер в него пишет новые поступающие сообщения и не закрывает соединение. Получам односторонний бесконечный коннект, через который сервер может слать все JS-команды.


Да. И 100 -200 юзеров сервер вполне выдержит. Но тут надо конечно экцпериментальным путём определить, сколько соеденений сервер может держать.


--------------------
PM WWW IM ICQ Skype GTalk Jabber AOL YIM MSN   Вверх
Wowa
Дата 7.2.2006, 14:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
Group Icon


Профиль
Группа: Админ
Сообщений: 15017
Регистрация: 14.9.2000
Где: Винград

Репутация: нет
Всего: 290



Цитата(sergej.z @ 7.2.2006, 12:55 Найти цитируемый пост)

Да. И 100 -200 юзеров сервер вполне выдержит. Но тут надо конечно экцпериментальным путём определить, сколько соеденений сервер может держать.

Это если они постоянно подсоединены? А если через ява-скрипт и HTTPrequest?
PM WWW   Вверх
sergejzr
Дата 7.2.2006, 15:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Un salsero
Group Icon


Профиль
Группа: Админ
Сообщений: 13285
Регистрация: 10.2.2004
Где: Германия г .Ганновер

Репутация: 2
Всего: 360



Цитата(Wowa @ 7.2.2006, 12:56 Найти цитируемый пост)

Это если они постоянно подсоединены?

Ага
Цитата(Wowa @ 7.2.2006, 12:56 Найти цитируемый пост)

А если через ява-скрипт и HTTPrequest?

Ну там стандартный механизм. Через определённые промежутки времени север опрашивается на наличие новых сообщений.

Преимущества и недостатки имеют обе архитектуры. Тут надо эксперименты ставить...

А вообще - лучше аськи чата нет smile


--------------------
PM WWW IM ICQ Skype GTalk Jabber AOL YIM MSN   Вверх
Tirael
Дата 7.2.2006, 15:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 154
Регистрация: 31.1.2006
Где: Москва

Репутация: 1
Всего: 7



Цитата(sergej.z @ 7.2.2006, 15:01 Найти цитируемый пост)

А вообще - лучше аськи чата нет

smile Что-то тема задумывалась, как обсуждение чата на Сервлетах. А в конце пришли к выводу, что надо пользоваться асей.
smile Кто-нибудь может дать краткое описание внутреннего устройства чата построенного на Сервлетах?? smile

Это сообщение отредактировал(а) Tirael - 7.2.2006, 15:13
--------------------
 
PM MAIL   Вверх
sergejzr
Дата 7.2.2006, 15:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Un salsero
Group Icon


Профиль
Группа: Админ
Сообщений: 13285
Регистрация: 10.2.2004
Где: Германия г .Ганновер

Репутация: 2
Всего: 360



Цитата(sergej.z @ 6.2.2006, 19:19 Найти цитируемый пост)

Чат на сервлете превращается в задачу на пару строк. так что там естесвенно никаких теорий искать нечего. Последние X сообщений хранятся в памяти. Там достаточно List взять и указателем ходить по нему, возвращаясь от последнего к первому. Пришло новое сообщение? добавь узел в list на место указателя, а старый узел выкинь и передвинь указатель дальше. Пришёл запрос на распечатку? иди вторым указателем от первого назад до полного круга.

Если с XMLHttpRequest, то вообще - отдавай узел, на котором указатель стоит и все узлы, которых у юзера ещё не было (определяешь по запросу).

А это что?


--------------------
PM WWW IM ICQ Skype GTalk Jabber AOL YIM MSN   Вверх
Tirael
Дата 7.2.2006, 17:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 154
Регистрация: 31.1.2006
Где: Москва

Репутация: 1
Всего: 7



Цитата(sergej.z @ 7.2.2006, 15:39)
Цитата(sergej.z @  6.2.2006,  19:19 Найти цитируемый пост)

Чат на сервлете превращается в задачу на пару строк. так что там естесвенно никаких теорий искать нечего. Последние X сообщений хранятся в памяти. Там достаточно List взять и указателем ходить по нему, возвращаясь от последнего к первому. Пришло новое сообщение? добавь узел в list на место указателя, а старый узел выкинь и передвинь указатель дальше. Пришёл запрос на распечатку? иди вторым указателем от первого назад до полного круга.

Если с XMLHttpRequest, то вообще - отдавай узел, на котором указатель стоит и все узлы, которых у юзера ещё не было (определяешь по запросу).

А это что?

smile Мало smile
--------------------
 
PM MAIL   Вверх
Opik
Дата 5.3.2006, 01:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Vingrad developer
Сообщений: 1918
Регистрация: 6.10.2004
Где: Рига

Репутация: нет
Всего: 55



Цитата(Tirael @ 7.2.2006, 02:50)
sergej.z, ну например пытаюсь разобраться вот в этом чате: http://www.web-tech-india.com/software/jsp_chat.php

Но он как-то криво кажись построен. Например, ты сидишь и жмешь Refresh, либо вся страница обновляется целиком через 5 секнуд ( по умолчанию). Зачем сделанно это обновление? Например, когда я разбирал чат, написанный на аплетах, то там было сделанно несколько по-другому: отправляет сообщение, на серверной стороне оно получается и тут же рассылается всем пользователям, которые подсоединены в данный момент.

Так вот как реализовать такой же принцип, но уже с использовнием сервлетов?

Супер чат, на памяти и всё такое.
Правда новые сообщения криво посылалаются, т.е просто обновляется окно. что не очень оптимально.
Да и обовляется он по таймауту. Я его переделывать начал, и вот что сделал:
1) Разделил на 4 фрейма (новый с юзерами, 1 невидимый)
2) Сообщения шлются через скрытый фрейм и скрипт ДОБАВЛЯЕТ только НОВЫЕ сообщения (через JS).
3) Исходя, из п2 понятно что добавил JS кода (приличное кол-во)
Вообщем получилось просто супер. Просто реактивно.
Сейчас дописываю регу. Так что чат с "потенциалом"... ) Очень благодарен за линк. Мне он очень жизнь облегчил!

PM MAIL Skype   Вверх
Wowa
Дата 5.3.2006, 01:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
Group Icon


Профиль
Группа: Админ
Сообщений: 15017
Регистрация: 14.9.2000
Где: Винград

Репутация: нет
Всего: 290



Цитата(Opik @ 4.3.2006, 23:15 Найти цитируемый пост)
Вообщем получилось просто супер. Просто реактивно.

На ПХП чат был бы имхо не так изящно реализован и тормозил бы сильно. Расскажи, как твое мнение относительно чата на яве smile
PM WWW   Вверх
Opik
Дата 5.3.2006, 14:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Vingrad developer
Сообщений: 1918
Регистрация: 6.10.2004
Где: Рига

Репутация: нет
Всего: 55



Wowa,
ну я реализовывал чат на PHP, на таком же принципе работы.
Сейчас реализовал это на яве - небо и земля.
И если учесть, что это ещё и на винде сейчас.... то вообще нечего говорить.
PM MAIL Skype   Вверх
Tony
Дата 7.3.2006, 19:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1159
Регистрация: 3.3.2006
Где: Riga

Репутация: 6
Всего: 12



я делал так .Делал connect na jsp tam 2 ifraima.Odin bil svazan s servletom Каторий при заходе засипал (Thread.sleep()- toest stranica v iframe ne dozagruzalas' ,visela)I response + id usera lozil v List.A vo 2 iframe bila forma peshesh tekst -->submit .Servlet obrabatival probigal po listu i otsilal vsem .T.k v pervom iframe nedozagruzka to --> on videl tekst.
======================================================================
Voobse kogda ja hotel napisat' 4at na jsp ni4ego tolkogova ne nashol.Poetomu i pridumal takoe.Pri4om 4at prekrasno rabotal .Compik 64RAM, CPU 400,OS WIN.


--------------------
user posted image
user posted image
PM MAIL Skype   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема »


 




[ Время генерации скрипта: 0.0924 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.