问题描述
|
我正在使用WebSockets从服务器推送实时数据。更新非常频繁,并且用于处理新消息的JavaScript代码也不是无关紧要的。
例如,如果客户端是iPhone,并且用户退出了Safari,则消息仍会接收并排队。
当用户下一次打开Safari时,所有排队的消息将按顺序处理。这给应用带来了很大的滞后。
但是我只需要最新消息。因此,如果发生这种情况,有什么办法可以让我跳到最近的消息,而丢弃其余的队列? WebSocket本身似乎没有公开有关排队消息的任何信息。
干杯,
斯图
解决方法
我不认为有任何WebSocket本地方法可以实现我想做的事情。
因此,我最终实现了自己的JS消息队列,始终处理最新消息并清除队列中的旧内容。
,我建议看一下Kafka来存储排队的消息。在持久化消息队列或活动提要的用例中,这似乎非常有效。