重新连接后 Pusher 收不到事件

Pusher doesn't receive events after reconnect

我正在构建具有实时更新功能的浏览器应用程序。

应用程序允许与其他人一起在线阅读和编辑电子表格。

不过,有些人网络连接不畅,可能会出现断线的情况。

我希望应用程序能够在重新连接互联网后更新到最新数据。

当前 Pusher 和应用程序工作方式如下:

  1. Pusher 连接到服务器并接收事件。
  2. 其他人在电子表格中进行更改。
  3. 应用程序从 Pusher 接收到这些更改,并能够将它们反映在电子表格中。
  4. 互联网有时会消失。
  5. Pusher 检测到此并且自动 尝试重新连接。
  6. 其他人在电子表格中进行更改。
  7. 应用程序无法接收这些更改,因为没有 Internet 连接。
  8. 一段时间后,例如 5 分钟,Internet 连接似乎正常。
  9. 现在 Pusher 成功重新连接到服务器。
  10. 但是,当没有互联网连接时,Pusher 不会收到事件(列表项 #6)。
  11. 其他人进行更改。
  12. Pusher 接收事件并且应用程序能够处理它们。

所以我的问题是:Pusher 在自动重新连接后没有收到其他人在互联网断开连接期间触发的事件。

我正在使用默认的 Pusher 配置、私人频道、最新的稳定版本并且不做任何魔术。

Pusher 目前不提供此功能。要自己实现这一点,您必须在每条价值增加的消息中发送一个数字 ID。您还需要将所有已发送消息的缓存存储在数据库中。客户可以跟踪他们收到的最后一个 ID。断开连接并重新连接后,他们可以向您的服务器发送请求,询问所有大于他们收到的最后一条消息 ID 的消息。您的服务器应响应与数据库中该查询匹配的消息。