privedentsev
@privedentsev

Как обновить страницу у пользователя при выполнении условия?

Добрый день!
В панели управления есть чекбоксы:
1) Задание 1
2) Задание 2
3) Задание 3 и т.д.

При нажатии на один из них администратором, необходимо перезагрузить страницу всех пользователей на сайте с выводом определенного задание.
Надеюсь объяснил внятно :)
Возможно ли такое организовать и как?
Спасибо!
  • Вопрос задан
  • 70 просмотров
Пригласить эксперта
Ответы на вопрос 2
Подключаете всех пользователей к сокету, после выбора администратором чекбокса отправляете на сокет запрос, который уведомляет всех пользователей и обновляет страницу.
Ответ написан
Newto
@Newto
Правильная реализация сказана выше Алексеем -- это нужно делать через сокеты.
Более простая, но нежелательная реализация -- через аякс. Выглядит это примерно так: 1) администратор клацает галочку -> ставится запись в БД (admin_klazz = 1). На стороне пользователей стоит скрипт, который раз в, скажем, 10 секунд проверяет статус этой самой admin_klazz. Если admin_klazz изменяется с 0 на 1, то перезагружается страница. Но если это реляционная база типа MySQL то дергать ее каждые 10 секунд еще и многими пользователями -- очень плохая идея. Однако если у вас стоит, скажем, Redis, и вы будете записывать этот флаг admin_klazz в него, то это сильно минимизирует затраты серверных мощностей.

Но, как я и сказал выше, правльно -- через сокеты. Остальное -- костыли.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы