Работа с сообщениями WebSocket в очереди в iOS

#iphone #ios #websocket

#iPhone #iOS #websocket

Вопрос:

Я использую WebSockets для отправки данных в режиме реального времени со своего сервера. Обновления происходят часто, и код JavaScript для обработки новых сообщений не является незначительным.

Если клиентом является iPhone (например) и пользователь выходит из Safari, сообщения по-прежнему принимаются и ставятся в очередь.

Когда пользователь в следующий раз открывает Safari, все сообщения, которые были поставлены в очередь, обрабатываются по порядку. Это приводит к значительному отставанию приложения.

Но мне всегда нужно только самое последнее сообщение. Итак, если возникает подобная ситуация, есть ли какой-либо способ, которым я могу перейти к самому последнему сообщению, отбрасывая остальную часть очереди? Сам WebSocket, похоже, не предоставляет никакой информации о сообщениях в очереди.

Приветствую, Стю

Ответ №1:

Я не думаю, что есть какой-либо собственный способ достижения того, что я пытаюсь сделать, с помощью WebSocket.

В итоге я внедрил свою собственную очередь сообщений JS, всегда обрабатывая самое последнее сообщение и удаляя все более старое из очереди.

Ответ №2:

Я предлагаю посмотреть на Kafka для хранения сообщений в очереди. Похоже, это действительно хорошо работает в случае сохранения очереди сообщений или ленты активности.