【发布时间】:2018-10-26 06:20:28
【问题描述】:
我的问题更多与游戏中动作的验证有关,游戏是跳棋。我正在开发一个跳棋游戏,在 html、css、js 和 nodeJS 中,游戏将是多人游戏。
所以我的问题是关于验证,最好的方法是什么。
现在所有的验证(有效的移动等)都是在客户端完成的(当然必须在服务器端)。
我的问题是,最好的方法是什么:
具有客户端验证,如果验证正常,则将验证发送到服务器并在那里验证,如果一切正常,则更改下一个玩家的回合,否则服务器拒绝移动,玩家必须做一个有效的动作。
没有客户端验证,只是基础,所有验证都在服务器端完成。
场景1:我认为这是最好的,因为我们不那么依赖服务器,如果移动客户端出错,它甚至不会将它发送到服务器,如果玩家有恶意(修改代码)尝试做坏动作有服务器端验证。
场景 2:我们更依赖服务器,它会消耗更多的资源,并且对于所有在线玩家来说会更慢,但在客户端会有点“快”,因为没有那么多验证与场景 1 相同。
我认为场景 1 是最好的方法,因为:
- 更多的安全性、客户端和服务器验证
- 其他玩家的延迟更少,因为只有来自客户端的经过验证的动作才会在服务器中得到验证
- 更少的资源 = 更少的基础设施,因此总体上更便宜。
您有什么意见,或者您有更好的方法吗?
感谢大家的阅读。
【问题讨论】:
-
客户端验证是为了方便,服务器端是为了安全;)两者都有,每个人都会开心
标签: javascript html node.js