Есть сайт. Нужно реализовать такой механизм — мониторить кто на данный момент
находится на, допустим, index'е. Я,как админ, через соответствующий интерфейс,
могу просматривать список тех кто на index'е и запускать на стороне юзера
ну допустим какой-нибудь попап.
Основная проблема у меня возникла в том, что приходилось каждые 5 сек коннектиться к серверу
и читать из базы данные (на инициацию попапа). В результате этого сервак через 5 мин просто здыхал
из-за того, что не хватало id для mysql_connect'а.
Может кто-нибудь подскажет как это обойти или предложит другой метод решения этой проблемы.
Здравствуйте, Nondefine, Вы писали:
N>Есть сайт. Нужно реализовать такой механизм — мониторить кто на данный момент N>находится на, допустим, index'е. Я,как админ, через соответствующий интерфейс, N>могу просматривать список тех кто на index'е и запускать на стороне юзера N>ну допустим какой-нибудь попап. N>Основная проблема у меня возникла в том, что приходилось каждые 5 сек коннектиться к серверу N>и читать из базы данные (на инициацию попапа). В результате этого сервак через 5 мин просто здыхал N>из-за того, что не хватало id для mysql_connect'а.
это как?
N>Может кто-нибудь подскажет как это обойти или предложит другой метод решения этой проблемы.
не совсем понятно, что именно тебе надо.
по какому принцыпу ты решаешь открыать у юзеров попап?
если ты этот принцып знаешь, то почему бы не реализовать а инексе этот алгоритм — пусть решение о попапе принимает сам индекс!
кроме того, к чему такая хектика — каждые 5 секунд опрашивать базу на предмет того, что там за юзеры у тебя сидят?...
Если тебе на сайт так сильно народ валит, то тем более надо автоматизировать процесс!
Проще говоря нужно реализовать вот что — инициировать попап на стороне клиента со стороны сервера. Например, чувак заходит на индекс и я хочу запустить ему попап, но не каждому кто заходит на индекс, а по моему усмотрению. Естественно всех людей придется хранить в базе. Вот в этом и заключается главная проблема.Во-первых, базу нажно периодически обновлять на предмет того, что чувак еще не ушел со страници.Во-вторых, если я хочу запустить ему попап, то я выставляю ему init_popap=1 в базе и он это поле должен периодически проверять, чтобы знать когда ему открыть попап (это все делает скрипт на индексе). Так вот, когда к серверу постоянно коннектится огромное количество народу он не выдерживает.
Здравствуйте, Nondefine, Вы писали:
N>Проще говоря нужно реализовать вот что — инициировать попап на стороне клиента со стороны сервера.
Вот это не правильно. Ты ж себе сам просто DOS-атаку делаешь.
King Oleg
*Читайте DOC'и, они rules*
Re[3]: Нужна идея.
От:
Аноним
Дата:
27.02.04 16:11
Оценка:
Здравствуйте, Nondefine, Вы писали:
N>Проще говоря нужно реализовать вот что — инициировать попап на стороне клиента со стороны сервера. Например, чувак заходит на индекс и я хочу запустить ему попап, но не каждому кто заходит на индекс, а по моему усмотрению. ....
Ну свое усмотрение ты, наверное знаешь...
Таки что тебя останавливает автоматизировать процесс?
Зачем зря сервер и юзеров-то напрягать?
Здравствуйте, Аноним, Вы писали:
А>Ну свое усмотрение ты, наверное знаешь... А>Таки что тебя останавливает автоматизировать процесс? А>Зачем зря сервер и юзеров-то напрягать?
Не понимаю что ты имеешь под выражением "автоматизировать поцесс"?
В том и дело что его не нужно автоматизировать. Попап не должен у запускаться у каждого
при заходе на страницу, а только тогда когда я этого захочу.
Здравствуйте, Nondefine, Вы писали:
N>Здравствуйте, Аноним, Вы писали:
А>>Ну свое усмотрение ты, наверное знаешь... А>>Таки что тебя останавливает автоматизировать процесс? А>>Зачем зря сервер и юзеров-то напрягать?
N>Не понимаю что ты имеешь под выражением "автоматизировать поцесс"? N>В том и дело что его не нужно автоматизировать. Попап не должен у запускаться у каждого N>при заходе на страницу, а только тогда когда я этого захочу.
но ведь наверняка ты этого хочешь по какому то алгоритму, а не от балды?...
Здравствуйте, anonymous, Вы писали:
A>но ведь наверняка ты этого хочешь по какому то алгоритму, а не от балды?...
Естественно по алгоритму. Могу даже его сказать. Когда юзер заходит на страничку, он автоматически записывается в базу и каждые ну допустим 5 сек — он должен обновлять свой online time, для того чтобы я знал что он еще не ушел.
Я могу просматривать список всех юзеров и по выбору запусить им попап, допустим кликнув на буттон.
Здравствуйте, Nondefine, Вы писали:
N>Естественно по алгоритму. Могу даже его сказать. Когда юзер заходит на страничку, он автоматически записывается в базу и каждые ну допустим 5 сек — он должен обновлять свой online time, для того чтобы я знал что он еще не ушел. N>Я могу просматривать список всех юзеров и по выбору запусить им попап, допустим кликнув на буттон.
Читай ман по протоколу HTTP. Сервер не может инициировать передачу файлов. Остается два варианта:
Напрягать свой сервер (постоянно рефреша страницу и иногда на запрос отдавать команду запустить попап)
Пользователя это будет напрягать + трафик + отказ сервера, если пользователей будет много и твоя серверная часть криво написана.
Не завершать передачу файла по запросу. В нужный момент передать соответствующу команду. Единственная проблема — не устойчивый метод к разрывам связи (что тоже решаемо, по-моему).
П.С. Почитать принципы работы чатов. Именно так они работают: мониторят, кто активный, а кто ушел, выдает сообщения когда они появляются, приватные сообщения и т.п.