【发布时间】:2018-11-14 01:16:08
【问题描述】:
我正在开发一个客户端-服务器应用程序,用户可以在其中登录并可以选择播放和回答问题。用户可以在 60 秒内回答尽可能多的问题。所以,基本上,我需要跟踪计时器。有两种方法;一种方法是在客户端启动和结束计时器,另一种是在服务器上执行。我的问题是:
如果我们在客户端执行此操作,那么用户可以通过某种方式破解它。另外,如果互联网连接中断怎么办?我该如何处理?
如果我们在服务器上这样做,那么就性能而言,它是正确的吗?如果有数百万人同时玩怎么办?服务器必须跟踪每个用户的计时器并使用套接字通知他们。如果互联网连接丢失,又会发生什么?服务器在向所有套接字通道发送消息时也必须跟踪它是否收到反馈,如果没有,服务器将不得不重试发送超时消息
这里合适的方法是什么?
【问题讨论】:
-
浏览器定时器
-
您可能需要同时跟踪客户端和服务器端的时间。客户端用于应用程序的 U/X 部分,服务器端用于强制计时器的完整性。对于连接问题,您可以查看
Service Worker虽然我不知道是否有办法强制测验的完整性。从技术上讲,测验没有在允许的时间内提交到服务器,几乎没有办法证明提交时间没有被篡改。 -
谢谢@dgeare。我想你是正确的。我还会研究 Service Worker 的概念,看看如何在我的游戏中使用它
标签: javascript php server client client-server