maxkh
@maxkh
Web developer

Как создавать real-time web applications?

Добрый день. Интересует как создавать ( в общих чертах) real-time web applications.

Интересуют технологии, подход.

Если, например, использовать node.js, сокеты - для цели чата, тут понятно, а как добавить события когда пользователь online\offline, как это объединить\реализовать ? Открываются два сокета, или все в один ? Что если таких real-time событий множество ?

P.S. Пока что сложно дается переход и разработка таких приложений.
  • Вопрос задан
  • 6254 просмотра
Решения вопроса 2
deadbyelpy
@deadbyelpy
веб-шмеб
Конкретное решение не смогу подсказать, но кое что все же.

Real-time Web Application with Socket.IO, Node.js,...

совместо с autobahn.ws/js

сокет 1, зачем более.

все конечно зависит от направления приложения. поэтому ничего конкретного посоветовать не смогу.

клиент ушел в offline? сохраняйте данные локально, благо уже есть различные способы хранения. появился коннект? восстановите соединения, и все что надо (подписки, токены)
отправьте порцию данных на сервер.

все вроде бы не сложно.

" Что если таких real-time событий множество ?" - а их и не бывает мало. ничего. при грамотной архитектуре и масштабируемости можно достичь обработки и Очень многих событий
Ответ написан
@KiriKiri
Можно с помощью sailsjs (sailsjs.org, https://github.com/balderdashy/sails)
А тут видеокасты, как раз админка и рассказывается о том как хендлить онлайн, оффлайн: https://github.com/irlnathan/activityoverlord
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Fesor
@Fesor
Full-stack developer (Symfony, Angular)
1. для каждого клиента создается отдельный сокет (то есть на n клиентов на сервере у нас открыто n сокетов и 1, сервер, принимающий новые соединения), которые можно хранить в общей куче.
2. вам доступны события, когда клиент разрывает соединения и т.д. Как только это произошло, можно выставлять статусы пользователей.
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы