根据客户端上的时间戳序列化Pusher事件

时间:2014-05-08 23:43:17

标签: backbone.js pusher

我们有一个Rails,Backbone应用程序。 Rails服务器向不同的客户端发送大量Pusher消息。客户端通常依赖于在某种程度上以正确的顺序接收消息。

我们有一些罕见的情况,其中(在客户端上)不按顺序接收推送器消息,即服务器发送的较旧消息比较新消息晚接收。这种情况很少发生,但我们确实希望解决这个问题。

理想情况下,在骨干客户端上,我们需要一些缓冲区来存储序列推送消息,并等待其余时间到达。

我的问题是。这似乎是异步应用程序中的常见情况。是否有JQuery库或其他常用技术来解决这种情况。

1 个答案:

答案 0 :(得分:2)

首先,有没有理由相信无序消息可能是由应用程序逻辑引起的?如果不是,它可能是标准的网络问题,特别是如果这种情况很少发生。

其次,我不知道任何库,但逻辑不应该太复杂而无法实现。您可以在消息进入时存储消息并使用排序机制来确定事情是否正常,例如,您可以在每条消息上添加递增索引号,或使用时间戳。然后,您可以按顺序操作消息,或者如果没有则等待片刻。

为了清楚起见,Pusher按照他们收到的顺序发送邮件,因此网络或您的应用程序出现了问题,而不是服务。

如果您确实为此创建了一个库,请告诉我们! :)