maxkh
@maxkh
Web developer

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

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

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

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

P.S. Пока что сложно дается переход и разработка таких приложений.
  • Вопрос задан
  • 6246 просмотров
Решения вопроса 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. вам доступны события, когда клиент разрывает соединения и т.д. Как только это произошло, можно выставлять статусы пользователей.
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
YCLIENTS Москва
от 200 000 до 350 000 ₽
Ведисофт Екатеринбург
от 25 000 ₽
ИТЦ Аусферр Магнитогорск
от 100 000 до 160 000 ₽
28 апр. 2024, в 00:54
10000 руб./за проект
28 апр. 2024, в 00:53
70000 руб./за проект
27 апр. 2024, в 21:24
150000 руб./за проект