#iphone #ios #websocket
#iPhone #iOS #websocket
Вопрос:
Я использую WebSockets для отправки данных в режиме реального времени со своего сервера. Обновления происходят часто, и код JavaScript для обработки новых сообщений не является незначительным.
Если клиентом является iPhone (например) и пользователь выходит из Safari, сообщения по-прежнему принимаются и ставятся в очередь.
Когда пользователь в следующий раз открывает Safari, все сообщения, которые были поставлены в очередь, обрабатываются по порядку. Это приводит к значительному отставанию приложения.
Но мне всегда нужно только самое последнее сообщение. Итак, если возникает подобная ситуация, есть ли какой-либо способ, которым я могу перейти к самому последнему сообщению, отбрасывая остальную часть очереди? Сам WebSocket, похоже, не предоставляет никакой информации о сообщениях в очереди.
Приветствую, Стю
Ответ №1:
Я не думаю, что есть какой-либо собственный способ достижения того, что я пытаюсь сделать, с помощью WebSocket.
В итоге я внедрил свою собственную очередь сообщений JS, всегда обрабатывая самое последнее сообщение и удаляя все более старое из очереди.
Ответ №2:
Я предлагаю посмотреть на Kafka для хранения сообщений в очереди. Похоже, это действительно хорошо работает в случае сохранения очереди сообщений или ленты активности.