Чат

zloymudvin

Новичок
Товарищи.

Подскажите как работает чат на AJAX и PHP.

Я так понимаю на странице пользователя просто работает JavaScript который сначала отправляет текст на сервер а потом опрашивает сервер по заданному интервалу.

Если Вас не затруднит объясните нубасу принципиальную схему)
 

zloymudvin

Новичок
да, так и работает
А на сервере где хранить сообщения, в текстовом файле. И если чат нагруженный (чат дополнение к проекту) то наверно имеет смысл отдельный сервер делать. И какой сервер какой нить ngnix или быстрее будет самописный на PHP?
И как лучше организовать историю сообщений, писать сразу все в SQL базу накладно, постоянно коннектится к базе это нагрузит сервер.
 

Vladson

Сильнобухер
писать сразу все в SQL базу накладно
Вовсе нет... Хотя если чат реально сильно нагруженный то можно (если конечно есть свой сервак с каким нибудь мемкешем или арс) писать в память а в базу скидывать через интервалы (скажем 100 сообщений пришло, отправить их в базу, итд)
 

WMix

герр M:)ller
Партнер клуба
если нагружен, то клиент не опрашивает, сервер не записывает а сразу разсылает... волшебное слово websockets
 

zloymudvin

Новичок
если нагружен, то клиент не опрашивает, сервер не записывает а сразу разсылает... волшебное слово websockets
WebSocket пока темная для меня технология, да и не все браузеры поддерживают ее и не факт что в дальнейшем будут...

А вот с мемкешем мне идея очень понравилась)
 

zloymudvin

Новичок
а в базе то он зачем? по-моему в файл UserXXXWithUserYYY.txt клади строчки вот тебе и архив...
с базой проще мне как то, если что то найти нужно например по дате, по юзеру в SQL раз плюнуть а в txt файлах искать геморно, не имею привычки хранить данные в .txt
 

craz

Нестандартное звание
что найти то в чате? текстовый поиск в нотпаде чем плох? не надо выдумывать несуществующих проблем ИМХО
 

Vladson

Сильнобухер
Если все фичи считать "несуществующими" тогда чат вообще в кб кода можно уложить, тупо писать всё сразу в html который рефрешиться будет и никакого архива вообще не надо (у меня такой есть, байт 400 кода максимум)

PHP:
с мемкешем мне идея очень понравилась
Я как-то хотел такой написать, вообще без базы и архива, тупо всё в памяти, но лень (чат мне не нужен, а просто для души есть и более интересные задачи)
 

craz

Нестандартное звание
Если все фичи считать "несуществующими" тогда чат вообще в кб кода можно уложить, тупо писать всё сразу в html который рефрешиться будет и никакого архива вообще не надо (у меня такой есть, байт 400 кода максимум)
чем он плох? не ну давайте с блекджеком и шлюхами сразу писать все, вот щас все соберемся и начнем писать калькулятор к примеру который может управлять всеми спутниками на орбите - а вдруг понадобиться?
 

Vladson

Сильнобухер
да неплохой он, только вот не думаю что уважающий себя владелец сайта захочет такое даже бесплатно на сайт ставить (я уж не говорю про то чтоб сделать его платным)
 

craz

Нестандартное звание
блин ну тогда надо определиться с требованиями может?
 

zloymudvin

Новичок
блин ну тогда надо определиться с требованиями может?
Я буду лить в базу, мне намного больше нравится иметь структурированные данные которые хранятся в одном месте, при таком подходе я запросто по статусу, типу пользователя или по прочей хрени (чат встроен в другой проект и хрени там хватает) смогу поднять историю за любой промежуток времени одним селектом, а с файлами так вряд ли получится. ИМХО как вы говорите.
 

craz

Нестандартное звание
таблицы и поля для общения двух людей можете здесь назвать?
 

craz

Нестандартное звание
ну вы же все равно писать чат собрались, вам то не помешает такая таблица...

что за поле data? время?
 
Сверху