Websockets: один обработчик, чтобы управлять ими всеми?Лучший случай с резервными копиями? - PullRequest
1 голос
/ 25 марта 2019

Я работаю над созданием приложения для iOS, которое делает несколько вещей, некоторые из которых выиграют от потоков данных в реальном времени (например, чата)

На данный момент у меня есть несколько обработчиков на моем сервереодин из них получает все потоки, к которым имеет доступ пользователь, другой может получать сообщения (смещение, все, временные и т. д.) для потока.Когда пользователь отправляет сообщение в поток, я получаю всех слушателей для потока и отправляю им push-уведомления.Это работает, но я читал документы APNS, и там написано: «не делайте больше 3 / час», и я определенно делаю больше 3 / час.

Так что я думаю, что я перехожу к веб-сокетам.Я знаю, как синхронизировать пабы / подписчики на разных компьютерах через Redis, поэтому я не беспокоюсь об этом, я больше застрял в следующем:

Если я начну вводить веб-сокеты в проект, я должен просто накачатьвся информация приложения <-> Сервер через веб-сокет?Создать поток -> Не отправлять сообщения, просто отправить сообщение по сокету.Получить сообщение -> Не опрашивать или отправлять уведомления, просто отправьте сообщение по сокету.Буквально все, что угодно -> Не делайте запрос, просто отправьте сообщение по сокету.

Сейчас я склоняюсь к загрузке исходного состояния и объемных данных через обычные URL-адреса HTTP (например: создание потока, загрузкапоследние 20 сообщений для потока XYZ), но для данных, которые должны быть отправлены и получены в режиме реального времени (например, отправка / запись сообщения чата), сделайте это через веб-сокет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...