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

Поиск:

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


Эксперт
Group Icon


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

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



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

На Яве можно легко и быстро создать Servlet, который бы висел в памяти и все сообщения также в памяти хранил бы.

PM WWW   Вверх
sergejzr
Дата 6.2.2006, 03:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Un salsero
Group Icon


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

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



Вопрос даже шире. Почему вообще веб - приложения на ПХП пишуться?
Ответ у меня в голову пришёл типа такого:
память на сервере конечно хорошо использовать, но только, если там не хостинг на несколько сотен/тысяч юзеров. там лучше диск юзать. Дешевле, а скорость роли большой не играет, ведь люди с реальными пректами сами позаботятся о сервере.
Так же на яве можно легко сделать new byte[очень_большое_число]; и забрать себе всю память smile

Потом ПХП всё ещё намного легче как язык программирования, да и что говорить, с кодировами и БД разбираться много не надо. В яве нужны навыки и настройка по типу "один раз и навсегда".

Всё же это похоже на религиозные войны Ява против ПХП. Где то у нас уже велись они smile

По сабжу - чат на яве конечно реактивная альтернатива, практически не напрягающая сервер (Это при условии, что сохранять сообщения не надо на диск, инача оба решения примерно одинаковы)


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


Опытный
**


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

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



Потому что очень мало хостингов где есть ява. А выделенный сервер не все могут себе позволить.


--------------------
Алгоритм помещения вопросов на форуме
Выражаем спасибо вот ТАК
Use the Source, Luke!
PM MAIL WWW ICQ   Вверх
Tirael
Дата 6.2.2006, 21:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Wowa, расскажи поподробнее про создание чатов на Ява с использованием Servlet и JSP.
Я искал исходники и инфу про создание чатов на Java. Практически везде описываются чаты на основе Сокетов и Аплетов.
Нашел только пару на Servlets и JSP. Но нет никакого документации по их созданию. Только исходники. Сижу копаюсь, перенимая ошибки автора и пытаясь понять что же он имел ввиду.

Хотелось бы услышать сообественно как следовало бы строить чат на основе Servet'ов и JSP. Саму теорию. В общих чертах.

--------------------
 
PM MAIL   Вверх
sergejzr
Дата 6.2.2006, 21:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Un salsero
Group Icon


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

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



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

Хотелось бы услышать сообественно как следовало бы строить чат на основе Servet'ов и JSP. Саму теорию. В общих чертах.

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

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

Дай ссылок на коды, помотреть, что там народ повыдумывал smile


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


Опытный
**


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

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





--------------------
Алгоритм помещения вопросов на форуме
Выражаем спасибо вот ТАК
Use the Source, Luke!
PM MAIL WWW ICQ   Вверх
sergejzr
Дата 6.2.2006, 23:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Un salsero
Group Icon


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

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



Чтото они там со скриптом перемудрили!


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


Эксперт
Group Icon


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

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



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

Чтото они там со скриптом перемудрили!

почему? smile За счет чего он может комп грузить? smile
PM WWW   Вверх
sergejzr
Дата 6.2.2006, 23:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Un salsero
Group Icon


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

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



JS всмысле


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


Эксперт
Group Icon


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

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



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

JS всмысле

А, наверное..
PM WWW   Вверх
sergejzr
Дата 6.2.2006, 23:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Un salsero
Group Icon


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

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



Вон, смотри, сколько там скрипта
http://demo.nextapp.com/ChatClient/app?ser...ho.ClientEngine
Интересно, сколько кода там реально нужно smile


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


Бывалый
*


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

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



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

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

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

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


Эксперт
Group Icon


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

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



Цитата(Tirael @ 7.2.2006, 01:50 Найти цитируемый пост)

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

я думаю, что просто пользователи регулярно запрашивают новые сообщение сами, а не сервер их отсылает.
PM WWW   Вверх
sergejzr
Дата 7.2.2006, 04:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Un salsero
Group Icon


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

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



Цитата(Tirael @ 7.2.2006, 01:50 Найти цитируемый пост)

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

Ты не можешь апплет заменить сервлетом smile это же две разные вещи.
Чат на апплете - вообще немного другая история. Конечно в плане трафа и скорости он оптимален. С другой стороны не у всех ява установлена. Да и ресурсы апплеты едят (хотя тут кривизна браузеров играет роль)
Лучший вариант - явяскрипт с использованием XMLHTTPRequest. Экономим рессурсы на клиенте и сервере. Минимум передаваемого трафа, максимум скорости.

Я бы делал такую связку явяскрипт-сервлет.

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

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

Там возможно реализовать типа: Клиент запросил инфу у сервера и ждёт ответа. Сервер отвечает только когда новые сообщения есть, а всё это время клиент "висит" в ожидании. Я так делал. Правда это были обе ява проги. В принципе апплет - сервлет - тоже самое.
Не знаю, как съест это XMLHTTPRequest и не вылетит ли по ConnectionTimeOut.





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


Опытный
**


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

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



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


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

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

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


 




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


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

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