如何从用户那里获得可靠的时间

时间:2015-01-17 16:11:41

标签: javascript google-chrome firefox browser

我们构建了一个聊天网络应用,用户第一次从API获取数据,然后使用这些API将数据发送回服务器,我们使用websocket处理新数据(新消息和其他内容)。

今天我们的一位用户告诉我们,在新邮件列表中显示错误的邮件数量,经过数小时的调查后,我发现用户的系统时间错误(与服务器时间差异大约3分钟)

在我们的应用中,我们检查用户是否打开了该会话,然后将当前时间发送回服务器(来自javascript new Date())。

我不想让用户丢失任何新消息,即使他们将该会话标记​​为已读并且在标记过程中新消息到达,如果我从服务器设置时间他们将丢失该新消息,如果我使用浏览器与我们的服务器不完全匹配的时间。

我真的不知道处理此案件是否重要,以及处理此案件的其他应用程序是否正确,以及如何处理此案例?

非常感谢每一点帮助

修改

我不想在每次请求时发送用户检查时间,因此我们的应用会在用户与应用互动后10秒钟发送服务器检查时间(标记为已读)。

1 个答案:

答案 0 :(得分:1)

使用从服务器生成的Last-Event-ID发送消息。

并决定您应发送哪条消息。不只是用户时间。