Websocket 重新连接后,推送程序未接收事件

Websocket 重新连接后,推送程序未接收事件,websocket,real-time,pusher,collaboration,Websocket,Real Time,Pusher,Collaboration,我正在构建具有实时更新的浏览器应用程序 该应用程序允许阅读和编辑电子表格与其他人在线 但是,有些人的互联网连接很差,可能会出现断开连接的情况 我希望应用程序能够更新到最新的数据后,互联网重新连接 目前推动器和应用程序工作如下: 推送器连接到服务器并接收事件。 其他人在电子表格中进行更改。 应用程序从Pusher接收这些更改,并能够在电子表格中反映这些更改。 在某个时刻,互联网消失了。 推进器检测到这一点,并自动尝试重新连接。 其他人在电子表格中进行更改。 应用程序无法接收这些更改,因为没有Int

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

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

但是,有些人的互联网连接很差,可能会出现断开连接的情况

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

目前推动器和应用程序工作如下:

推送器连接到服务器并接收事件。 其他人在电子表格中进行更改。 应用程序从Pusher接收这些更改,并能够在电子表格中反映这些更改。 在某个时刻,互联网消失了。 推进器检测到这一点,并自动尝试重新连接。 其他人在电子表格中进行更改。 应用程序无法接收这些更改,因为没有Internet连接。 一段时间后,例如5分钟,互联网连接似乎正常。 现在推送器成功地重新连接到服务器。 然而,Pusher并没有从并没有Internet连接列表项6的时期接收事件。 其他人会做出改变。 Pusher接收事件,应用程序能够处理它们。 所以我的问题是:推送程序在自动重新连接后不会接收到事件,这些事件是在互联网断开时由其他人触发的


我使用默认的推送配置,私人频道,最新的稳定版本,不做任何魔术

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

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

目前我有这样的实现,但没有使用普通HTTP请求的Pusher。一般来说,它每2秒钟检查一次新的事件,并存储最后收到的事件ID。但是这工作速度很慢,所以我决定切换到Pusher。我对Pusher很失望。文档中没有描述这种行为。谢谢你,威尔·休厄尔。我会将您的答案标记为已接受,并尝试找到Pusher的替代方案,或者让我的实时模块保持原样。目前我有这样的实现,但没有使用纯HTTP请求的Pusher。一般来说,它每2秒钟检查一次新的事件,并存储最后收到的事件ID。但是这工作速度很慢,所以我决定切换到Pusher。我对Pusher很失望。文档中没有描述这种行为。谢谢你,威尔·休厄尔。我会将您的答案标记为已接受,并会尝试找到Pusher的替代方案,或者让我的实时模块保持原样。