Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > Создание чата без рефреша


Автор: pushistui 25.4.2004, 20:01
Здравствуйте уважаемые пользователи!
Не так давно я загорелся идеей создания чата на PHP без банального рефреша.
Изучил язык, поискал примеры и FAQ в сети по этому вопросу. Ничего дельного я не нашел, поэтому решил все делать сам. При создании у меня возникла вот такая проблема:
Сообщения от юзеров в чате обрабатывает скрипт, который записывает их в специальный файл, который собственно и должен выводиться юзерам в он-лайн. Теперь самое интересное:
Как выводить эти месаги пользователям минуя рефреш?
Вначале я пытался реализовать вывод посланий пользователям через постоянно работающие скрипты на PHP, но это создавало достаточно большую нагрузку на сервер (этот вариант чата не имеет перспектив из-за больших требований памяти).
Здесь мои разработки зашли в тупик.
Недавно мне кто-то подсказал использовать некоторое подобие IRC сервера для вывода сообщений пользователям в чате. Демон должен висеть постоянно на стороне сервера и прослушивать порты, он же должен и выводить юзерам сообщения. К сожалению, я никогда не сталкивался с такой системой и не знаю какие функции она должна выполнять, на каком языке ее писать и как она осуществляет и поддерживает коннект с пользователями. И в связи с этой проблемой я решил обратиться к Вам как к людям, которые обладает большими и глубокими знаниями в этой области и смогут мне помочь. Посоветуйте мне, как решить эту проблему, может быть у Вас есть какие-либо примеры подобных демонов, или вы знаете какое-либо неплохое FAQ по этому вопросу. Очень надеюсь на Вашу помощь!
Заранее благодарю.






Автор: Secandr 26.4.2004, 07:17
Это конечно интересно, но хотелось бы узнать следующие: что стоит у клиента? Просто html страничка?
А чем не нравится вот такой вариант: http://www.plazma.ru/chat/
Обновление идёт по невидимому фрейму, пользователь это не замечает.

Автор: IZ@TOP 26.4.2004, 17:20
Нет, из РНР ни какого демона не выйдет (хотя может и выйдет, но для этого придется сильно извратиться). Во первых помешает таймаут исполнения скрипта, во вторых есть полно других вариантов, как уже сказал Secandr: обновление данных через невидимый фрейм. То есть при обновлении контента из фрейма с 0 размером с помощью JS пишутся данные в окно с сообщениями. А скрипт следит за тем, как и кому отсылаются сообщения, если вася получил сообщение пети, значит он его повторно не попросит... ну и т.п. Это уже дело техники.

Автор: Akina 26.4.2004, 17:30
См. например на http://php.spb.ru/chat/

Автор: pushistui 26.4.2004, 17:44
Спасибо.А на чем лучше всего демоны писать?На стороне клиента стоит HTML.

Автор: Vaulter 26.4.2004, 17:55
pushistui с++ под gcc

Автор: Guest 26.4.2004, 18:23
Какой-нибудь FAQ посоветуешь?Листинги?Хоть что-нибудь,что помогло бы продвинуть проект...пасиба

Автор: pushistui 26.4.2004, 18:25
Akina
Спасибо-там я уже был-неплохой чат.Даже пытался разобраться в его устройством.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)