Jump to content
  • 0

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


Bebeka
 Share

Question

Привет! Пишу веб-сайт.

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

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

СПасибо

Link to comment
Share on other sites

4 answers to this question

Recommended Posts

  • 0

Если решение для эксплуатации на хостингах и т.п. - то ничего особо кроме опроса не придумаешь. Просто как-то кешировать информацию о сообщениях, если база перегружена.

Если речь о своем VPS/Сервере, то можно смотреть в сторону Long Polling и написания своего демона (или настройки существующих решений) для обслуживания коннектов. Гуглить "Long Polling" и COMET

Link to comment
Share on other sites

  • 0

Самое простое это обновлять страницу каждую минуту с помощью setInterval.

А в идеале лучше всего вот это (только подозреваю имелось ввиду setInterval + ajax):

setTimeout + ajax

А как ещё проверить число сообщений не запрашивая базу?

Edited by wwt
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy