В настоящее время я разрабатываю веб-сайт для приложения чата (все на стороне сервера - это Django).
Одна из проблем, с которыми я столкнулся, заключалась в том, как поддерживать веб-сайт (после того, как пользователь войдет в систему и все отобразится) обновленным, если пользователю нужно получить что-то новое (новое сообщение, уведомления и т. д.).
Решение, с которым я пришел, состояло в том, чтобы сначала создать URL-адрес для отправки запроса на получение, а ответом был бы список невидимых уведомлений для пользователя. Затем в HTML код JavaScript для отправки запроса на этот URL и получения невидимых уведомлений.
Таким образом, при загрузке страница будет отправлять и получать все невидимые уведомления и сохранять их в переменной, после чего она будет продолжать отправлять запрос каждые полсекунды и проверять, являются ли отображаемые данные самыми последними данными, и если это не так, перезагрузите страницу, чтобы обновить все отображаемые данные.
Теперь это работает нормально, но я не уверен, как это должно быть сделано, так как я бомбардирую запросами свой сервер (в настоящее время все в разработке и всего пара пользователей, в то время ничего не взорвалось) и клиент постоянно отправляет запрос. Это то, как другие сети (например, Facebook) обновляются в случае появления нового уведомления без необходимости ручной перезагрузки страницы пользователем?
Заранее спасибо!
Firebase
,Socket.io
иWeb Sockets
- person Alex   schedule 03.07.2018