Forum Webscript.Ru
Программирование => PHP => Тема начата: cosss от 12 Февраля 2004, 00:37:37
-
Собираюсь написать чат, сложный, с регистрацией настройкой и еще всякими фишками. Но кхм, даже не представляю как чаты работают. :) Может кто подскажет алгоритм простого чата?
-
а ты зайди в какой-нибудь простой чат и посмотри, как он работает.
-
хотел дать ссылку, а потом передумал.
просили-то простой чат
-
Million а копирайт на [ламерский сайт] ставить кто будет
и потом попробуй этот скрипт на каком нить хостинге поюзать, загрузка ЦП будет выше разрешенного минимума для платных и бесплатных хостингов, выход только один dedicated а это минимум 100 $ в месяц, я не думаю что cosss это подойдет
я думаю проще добавить в один из фреймов чата еще один фрейм который будет рефрешиться и если есть новые сообщения добавлять их в основной фрейм в какой нибудь слой тогда основной фрейм обновлять не надо
-
gibz
Чтобы загрузка была минимальна надо в цикле паузу поставить,
для messages.txt cделать лимит строк на 20 и загрузка ЦП будет в норме.
фреймамы яваскрипты это уже всё обвеска и возможные варианты А совершенствовать всё можно до бесконечности
cosss хочет для начала алгоритм простого чата.
А куда ещй проще!
-
Million если ты не понимаешь алгоритм работы простого чата, то не стоит вообще в эту тему соваться.
-
RomikChef
А код который я выложил наверное был для порно галереи:)
вот и пришлось его удалить чтобы не развращать малолетних
RomikChef
Зато у тебя понимание работы простого чата на высшем уровне:а ты зайди в какой-нибудь простой чат и посмотри, как он работает.
-
Million
да, на высшем - я сам так изучал принцип действия чата в свое время.
А ты так скептически об этом пишешь, что и для тебя это проблема, похоже?
-
RomikChef
Я не пойму, честно, если сам не напишу я ни фига в чужом коде разобраться не могу. Потому что мои знания на минимуме, а в каком-нить чате будет сложный (для меня код) много всяких мне не понятных штук и т.д. Для меня это сложно. Я вот написал движок новостной, скачал чужой и ни хрена там не понял.
-
Мне надо постепенно все узнавать, вот для начала алгоритм и прошу...
-
при чем здесь код?
если зайти в любой простой чат, то ты увидишь что он состоит из двух фреймов.
в одном форма, которая посылает скрипту твои реплики, а в другом - хтмл страница, которая рефрешится мета рефрешем, и которую формирует скрипт.
все этом ожно просто разув глаза, безо всякого кода.
уж хотя бы принцип действия можно сообразить?
-
RomikChef
Куда делся код?
Лично я экспериментировал с чатом именно на том скрипте который был здесь 4-ым сообщением, работает безо всяких там JavaScript-ов, в двух фреймах. Прекрасно отображает основы чатастроения. Единственное, поедает много ресурсов процессора
2914 www 64 0 9744K 744K RUN 27:54 98.73% 98.73% httpd
и что особенно интересно этот процесс почему то висят и после закрытия браузера(исчезает только после рестарта Apache)
А если говорить об рефреше в отдельном фрейме и формирование вывода, то можно сразу переносить эту тему в JavaScript!
-
Million:
Куда делся код?
во-первых, здесь не будет ламерских скриптов манликса.
во-вторых, поедает много ресурсов процессора
в-третьих, человек просил простой пример.
А если говорить об рефреше в отдельном фрейме и формирование вывода, то можно сразу переносить эту тему в JavaScript!
ага, и список сообщений ты тоже яваскриптом будешь формировать?
-
RomikChef
Ну с фреймами все ясно... Но как быть с страницей сообщений? Одна для всех юзеров? Я так не хочу... А если кажая для отдельного, то не пойму как сообщения других будут видны... И сколько же этих страниц тогда будет... Я думаю хранить реплики в БД, это правильно? Сообщений макс. 50 например.
-
cosss Предлагаю следующий вариант:
Допустим у тебя есть три фрейма
фрейм с сообщениями
фрейм ввода сообщения
фрейм юзеров онлайн
в фрейм с сообщениями воткни еще один фрейм размером 1x1 который рефрешиться раз в несколько секунд
в нем вызывай пхп код, который проверяет базу или файл на наличие новых сообщений и при помощи java script-a добавляет их в фрейм с сообщениями в какой то слой(для того чтебы не перезагружать весь фрейм с сообщениями)
у всех юзверей своя страница собщений, одна на всех не может быть в принципе,
просто например при логине воткни в сессию юзера переменную которая хранит в себе номер последнего прочитанного сообщения, после запуска чата, тот фрейм 1x1 выбирает из базы сообщения порядковый номер которых больше и выводит их, после назначая переменной сессии номер последнего сообщения,
фрейм 1x1 будет обновляться и не выводить ничего пока не появиться новое сообщение
если интересно дальше могу привести примерный код
-
Million
а процессы висят потому что запущен бесконечный цикл и этот скрипт манликса уж точно ламерский(я тут даже с RomikChef согласен)
-
как быть с страницей сообщений? Одна для всех юзеров?
родной!
ты хотя бы так-то делай!
а потом носом верти, теоретик
Во-первых, по форуму много такимих чудиков ходит, которым "не нравилось" и они наворотили кода, а теперь сидят, понять не моугт - что не работает и где ошибка. Делай постепенно. Одно сделал - берись за другое.
Во-вторых, пока будешь делать - глядишь и сам сообразишь, как делать разное. Не все ж на форуме попрошайничать, а?
где хранить реплики - абсолютно не важно.
глупо думать о том, где хранить реплики, не поняв вообще структуры программы.
ты простой чат хотел или я зря стер ссылку на бородинский?
ты уж определись.А если кажая для отдельного, то не пойму как сообщения других будут видны..
как-как. каком кверху.
скриптом, значит, формируется.
неужели так сложно сообразить?
-
cosss:
Может кто подскажет алгоритм простого чата?
Вот ссылка на описание работы чата применительно к ПХП.
http://dushik.iatp.org.ua/lessons/1
ИМХО, имеет смысл почитать алгоритм и понять его. А простой или сложный чат потом делать - решать не мне.
[OFF]Кстати, люди: я кинул этот линк в форум JS несколько дней назад. До поиска не дотянуться?[/OFF]
-
[OFF]
RomikChef:
или я зря стер ссылку на бородинский?
Да ладно, пусть бы оставалась...
[/OFF]
Вот, в принципе, разные чаты.
http://www.softlinks.ru/scripts/s34p1.php
Но Ромик прав: ставить их к себе, не разобравшись что к чему - просто глупо.
-
[OFF]А я считаю пусть товарищ хотя-бы гостевую книгу сделает :)
Потом, когда почувствует в себе ум и силу: зарядит её, прикрутит нитру и получится - чат :)[/OFF]
-
Начинает кое-что прояснятся, пошел я думать, мылсить, так сказать...
-
[OFF]Простите за флейм, не удержался:
А до этого ты что делал? :D[/OFF]
-
FreeSpace
Пищи для мыслей не было...
-
gibz:
если интересно дальше могу привести примерный код
очень интересно!