【问题标题】:Serializing Pusher events based on timestamp on client根据客户端上的时间戳序列化 Pusher 事件
【发布时间】:2014-05-08 23:43:16
【问题描述】:

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

我们有一些罕见的情况,即(在客户端)接收到推送消息的顺序不正确,即服务器发送的旧消息比新消息晚接收。这种情况很少发生,但我们确实想解决它。

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

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

【问题讨论】:

    标签: backbone.js pusher


    【解决方案1】:

    首先,有没有理由相信乱序消息可能是由应用程序逻辑引起的?如果不是,则可能是标准网络问题,尤其是在这种情况很少见的情况下。

    其次,我知道没有任何库,但逻辑不应该太复杂而无法实现。您可以在消息进入时存储它们并使用排序机制来了解一切正常,例如,您可以在每条消息上设置递增的索引号,或者使用时间戳。然后,您可以对消息进行操作(如果它是有序的),或者等待片刻。

    需要明确的是,Pusher 会按照收到消息的顺序发送消息,因此这是网络或您的应用程序的问题,而不是服务的问题。

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

    【讨论】:

    • 是的,由于不同的客户端位于不同类型的网络上,因此顺序可能会有所不同。它很少见,但确实会发生。是的,如果我创建一个,会通知你的。
    猜你喜欢
    • 1970-01-01
    • 2017-05-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多