Активное оповещение о новых сообщениях

Печать RSS
163

Автор
Пишу, строю и воображаю
0
Привет! Пишу веб-сайт.

Есть такой раздел в меню: Личные сообщения. И когда появляются новые не прочитанные сообщения, горят рядом (#). Где # число новых сообщений. Вроде простой кусок кода пишется за 1 минуту.

Юзер сидит на сайте и ему пришло новое сообщение, и значит пока он не обновит страницу, он не увидит оповещение. Если конечно он постоянно туда-сюда передвигается по сайту, он это увидит. А если нет? Что посоветуете может есть плагин готовый? или направьте на использование каких веб-иснтрументов я выполню задачу? Вроде то задача простая, проверять БД с промежутком каждые 10 сек или сколько надо, чтобы нагрузку на сервер не создавать??? Ведь юзеров много на сайте, будет 100 юзеров онлайн, получится что каждые 10 сек 100 запросов в базу с проверкой новых сообщений... Помогите решить задачу.

СПасибо

Голубые штаны
0
Кешируй счетчик личных сообщений в файл.
Заведи файл с сериализованным массивом юзер=>счетчик.
Написал кто-то кому-то - файл открылся, и цифра счетчика этого юзера в масиве увеличилась на +1. То есть было 2, стало 3. Или было 0,
стало 1.
Юзер вошел в свою почту - открываешь файл и обнуляешь в нем его счетчик.

Затем просто делаешь Ajax запрос на сервер. Раз в 15-20 секунд. Там открывается файл, читается счетчик и отдается в браузер Если счетчик больше 1 - показывай ссылку "Новое сообщение (цифра счетчика)".

Землянин
0
Дима Лондон, это не самый хороший вариант, если файл один для всех пользователей, то есть вероятность его повреждения, так как он будет перезаписываться каждый раз для каждого пользователя... Те же 100 пользователей его сломают...

Добавлено через 03:15 сек.
лучше сделать в качестве флага файл. Создай папку с логином пользователя, и скриптом проверяй, если файл есть - новые сообщения, если нет, то и бог с ним. Когда кто-то кому-то написал открывай и записывай нужный файл в папке с нужным логином. В нем даже можно считать количество входящих. Когда открывается окно диалога или сообщений, файл удаляешь.
Стикеры / Теги / Правила / Топ тем / Топ постов / Поиск