![]() |
|
||||||||||
|
|||||
|
[+1.3 16.02.10]
Регистрация: Mar 2007
Адрес: Вертикальное
Сообщений: 100
|
Какой должна быть логика для нормальной работы чата?
Т.е. в бд например храним всю историю общения....каждые 3 сек например каждый пользователь кот подключен посылает запрос на то чтоб получить новые сообщения (как сделать чтоб токо новые а не все..??)... как определить что все кому надо получили новые сообщения и удалить то старое сообщение из базы? |
|
|||||
|
Ветеран форума
Регистрация: Jul 2006
Адрес: Грузия, Тбилиси
Сообщений: 2,675
|
а вы собираетесь делать чат через http запросы?
|
|
|||||
|
Регистрация: Sep 2006
Сообщений: 256
|
1) Хранить у пользователя идентификатор последнего сообщения и по запросу выбирать только те сообщения, идентификатор которых больше того, что сейчас у пользователя.
2) Можно создать таблицу текущих пользователей. в ней будут столбцы текущие пользователи и номера потребованных по запросу 1) сообщений. Если пользователь потребовал новые данные, то обновляем и вторую таблицу, если у всех текущих пользователей присутствует сообщение с номером n, то это сообщение удаляем из базы + удаляем связанные с ней данные в во второй таблице. (неактивных пользователей тоже удаляем, только потом). |
|
|||||
|
[+1.3 16.02.10]
Регистрация: Mar 2007
Адрес: Вертикальное
Сообщений: 100
|
Lowka мне кажеться есть более продуктивное решение проблемы!!!
|
|
|||||
|
Banned
Регистрация: Sep 2001
Сообщений: 6,162
|
Цитата:
|
![]() |
![]() |
Часовой пояс GMT +4, время: 06:58. |
|
|
« Предыдущая тема | Следующая тема » |
|
|