Browser gmail浏览器客户端如何检测internet/服务器断开连接(速度和可扩展性)

Browser gmail浏览器客户端如何检测internet/服务器断开连接(速度和可扩展性),browser,gmail,disconnect,Browser,Gmail,Disconnect,我们有一个浏览器应用程序(SaaS),我们希望在互联网连接或服务器连接丢失时通知用户。Gmail做得很好,当我拔掉网线或禁用网络通信时,它立即表示无法访问服务器,并给我一个重试倒计时 实现这样的东西的最佳方式是什么?我希望客户端浏览器每秒向应用程序服务器发出AJAX请求,还是希望有一个单独的服务器只报告“活动”结果。可扩展性将成为今后的一个问题。因为GMail已经每隔几秒钟检查一次新的电子邮件,并且更频繁地检查聊天信息,所以它可以在没有单独请求的情况下判断连接是否断开。如果您没有使用Ajax进行

我们有一个浏览器应用程序(SaaS),我们希望在互联网连接或服务器连接丢失时通知用户。Gmail做得很好,当我拔掉网线或禁用网络通信时,它立即表示无法访问服务器,并给我一个重试倒计时


实现这样的东西的最佳方式是什么?我希望客户端浏览器每秒向应用程序服务器发出AJAX请求,还是希望有一个单独的服务器只报告“活动”结果。可扩展性将成为今后的一个问题。

因为GMail已经每隔几秒钟检查一次新的电子邮件,并且更频繁地检查聊天信息,所以它可以在没有单独请求的情况下判断连接是否断开。如果您没有使用Ajax进行其他类型的持续更新,那么是的,您只需要让服务器用某种“活动”信号进行回复。请注意,由于Ajax跨域限制,您无法使用单独的服务器。

由于服务器向客户端报告(通过Comet推送),您必须为每个客户端维护一个开放的连接。如果你有大量的客户,这可能会非常昂贵。正如您所提到的,可伸缩性可能是一个问题。另一种选择是投票。你可以让它每隔5-10秒左右进行一次投票,而不是每秒钟进行一次

您可以查看的其他内容是(作为HTML5的一部分开发的),但我不确定它是否得到广泛支持(仅AFAIK Chrome支持)