我想显示一个统一给所有用户的倒计时器.我选择了一种方法,但我不确定它是否是最好的选择.
服务器端:
- 节点服务器使用服务器时间戳请求调用Firebase.
- 服务器将X millis添加到时间戳
- 服务器使用新的未来时间戳更新Firebase数据库
用户方:
- 从db接收一个未来的时间戳(由服务器创建)
- 向Firebase数据库发送请求以接收当前服务器时间戳
- 计算服务器时间戳和当前时间戳(本地)之间的增量
- 将计算的增量添加到阶段1中收到的未来时间戳
- 显示已更正的倒计时时间.
我用这种方法看到的主要问题是用户对"timestamp"值具有无限的读/写访问权限.这可以用来对我进行伪造的db调用,从而增加我的Firebase使用量(花费我的钱)
是否有更好的方法将所有设备同步到未来的统一时间?