Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Простенький веб-чат для залогиненых пользователей

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
nkl
Отправлено: 28 Января, 2014 - 07:10:08
Post Id



Посетитель


Покинул форум
Сообщений всего: 305
Дата рег-ции: Янв. 2012  


Помог: 1 раз(а)




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

Понятное дело, что чат будет работать через AJAX, еще более понятно и то, что для обновления списка сообщений чата будет использоваться функция setInterval(GetChatLine(), interval). Где в качестве interval можно задать какое-то значение (но это уже больше к настройкам относиться). И вот глядя на этот setInterval() у меня возникает резонный вопрос: где лучше хранить сообщения чата, в БД или в файле?

Я более склонен к файловому варианту, который будет хранить сообщения в строчках, например так:
Username|AddedDt|message
Long Username|AddedDt|long message
Very Long Username|AddedDt|very long message
и т.д.
Через setInterval выполнять ajax-запрос, на проверку состояния файла и если появились новые строки в файле, то сразу же пихать их в messageBox какой нить, если нет, то нет.

Но как считают специалисты данной области знаний? Стою ли я на верном пути или для этой цели стоит все таки Мускул задействовать? Растерялся
 
 Top
eai
Отправлено: 28 Января, 2014 - 07:36:22
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 521
Дата рег-ции: Сент. 2009  
Откуда: Петроград


Помог: 10 раз(а)




Сам не специалист по чатам но есть мнение что чаты надо делать сейчас на web сокетах а на серваках использовать nodejs или что то аля phpDeamon

Сразу вам вопрос, как будете разделять конкурентные записи в плоский файл ?

(Отредактировано автором: 28 Января, 2014 - 07:37:15)

 
 Top
nkl
Отправлено: 28 Января, 2014 - 08:50:01
Post Id



Посетитель


Покинул форум
Сообщений всего: 305
Дата рег-ции: Янв. 2012  


Помог: 1 раз(а)




Слава богу с меня сняли эту задачу и передали более опытному в этом деле спецу, он как раз и собирается что-то подобное использовать. Делать демона на nodejs и еще какой-то генератор очереди. Короче я в этом не бум-бум, но он все четко и ясно себе представляет. Как реализует, поделюсь опытом в этом топике.
 
 Top
Мелкий Супермодератор
Отправлено: 28 Января, 2014 - 09:05:42
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




Варианта два:
0) используете готовую СУБД
1) пишете свою СУБД
А именно СУБД вы писать и собирались.


-----
PostgreSQL DBA
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB