Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail


Ответ
 
Опции темы
Старый 24.06.2011, 11:33   #1
mrgrudge
Форумчанин
 
Аватар для mrgrudge
 
Регистрация: 20.02.2010
Сообщений: 229
По умолчанию система отображения сообщений

Доброго времени суток!
Столкнулся с такой проблемой. Нужно реализовать систему доставки сообщений примерно такую как сделана на сайте vkontakte.ru
То есть юзер_1 написал сообщение юзеру_2, и если юзер_2 онлайн у него тут же всплывает сообщение мол " у тебя новое сообщение" и пересчитывается счетчик сообщний.
Собственно как вывести само сообщение труда то не составляет, да и счетчик пересчитать тоже. Но как вот заставить выполнится скрипт пересчета по нажатию кнопки "отправить" с другого компа что то не представляю.
Авторизация юзеров построена на куках. И в бд нет никого флаг-поля о том что юзер онлайн или нет.

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

Кто с талкивался с подобными вещами подскажите плз хотя бы каком направлении копать!
mrgrudge вне форума Ответить с цитированием
Старый 24.06.2011, 11:41   #2
ssdm
Форумчанин
 
Регистрация: 20.05.2009
Сообщений: 506
По умолчанию

Имхо копайте в сторону Ajax запроса с интервалом в секунд 10.
ssdm вне форума Ответить с цитированием
Старый 24.06.2011, 11:46   #3
mrgrudge
Форумчанин
 
Аватар для mrgrudge
 
Регистрация: 20.02.2010
Сообщений: 229
По умолчанию

Цитата:
Сообщение от ssdm Посмотреть сообщение
Имхо копайте в сторону Ajax запроса с интервалом в секунд 10.
Продумал уже этот вариант. С Ajax'om и json'ом практически на ты. но все же при большом онлайне скажем в 1000 людей это раз в 10 секунд будет идти 1000 запросов и ответов от сервера....
mrgrudge вне форума Ответить с цитированием
Старый 24.06.2011, 12:01   #4
ssdm
Форумчанин
 
Регистрация: 20.05.2009
Сообщений: 506
По умолчанию

Цитата:
Сообщение от mrgrudge Посмотреть сообщение
Продумал уже этот вариант. С Ajax'om и json'ом практически на ты. но все же при большом онлайне скажем в 1000 людей это раз в 10 секунд будет идти 1000 запросов и ответов от сервера....
А как вы это без запроса к серверной части реализуете ?
А вот как под эти запросы оптимизировать серверную часть - это и есть самый сложный и главный вопрос.
Может тригер на отправленные сообщения сделать:
1) Послали сообщение(записали собщение в бд).
2) Сработал тригер и обновил таблицу с непрочитанными сообщениями ( только количество, сами сообщения тут не храним) для юзера.
3) Наш скрипт берет из таблицы с непрочитанными сообщениями число этих анрид сообщений и шлет json в ответ.
ssdm вне форума Ответить с цитированием
Старый 26.06.2011, 14:02   #5
graymaster
Форумчанин
 
Аватар для graymaster
 
Регистрация: 03.05.2011
Сообщений: 158
По умолчанию

Ага, Ajax пока единственный способ, да. Правда ходят слухи про вэб-сокеты, но покааа их введут в продакшн-версии браузеров и стандартизируют, и на них перестанут топорщится некоторые антивирусы.... Но, если с оптимизмом смотреть в будущее - то они будут, да, и станут решением для таких вот проблем
graymaster вне форума Ответить с цитированием
Старый 26.06.2011, 21:39   #6
Cronos20
Форумчанин
 
Регистрация: 08.07.2010
Сообщений: 679
По умолчанию

Если свой сервер можно попробовать технологию Comet
Cronos20 вне форума Ответить с цитированием
Ответ

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Опции темы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сбор сообщений службы сообщений Windows XP testor48 Работа с сетью в Delphi 3 31.03.2011 20:20
Система принятия решения (Экспертная система) daranton Microsoft Office Excel 4 01.05.2010 17:55
Перехват сообщений от Службы сообщений (Messenger) SJMS Win Api 6 17.07.2008 10:26
проблемы отображения Karl_Karlovi4 Общие вопросы Delphi 12 31.12.2007 10:21
Oперативная Система Сообщений. Русский ICQ Virtson Свободное общение 3 27.01.2007 20:56