一种从客户端获得真正价值的方法
A way to get a genuine value from slient-side
我必须从客户端获取值到服务器并排除它被替换的可能性,因为它非常重要(值是动作的时间戳)。是否可以发送假值或没有理由担心?怎么做?
我将在将请求发送到服务器(将其存储)之前使用 javscript 中的日期函数获取当前日期,到达服务器后将使用
生成新的时间戳
时间戳(dateFormat.parse(strDate).getTime()).toString();
现在我知道区别了
Is it possible to send fake value
是的,是的。在在线多人游戏中,您通常不允许客户端参与游戏逻辑,除了将用户输入发送到服务器。
How to do it?
如果您还想使用,可以使用 getTime()。
The difference between two was 12-50ms, but when server was executing scheduled tasks, difference was ~1000ms.
这就是所谓的延迟,或者从发送请求到处理请求 + 结果返回之间的延迟。你应该在你的服务器性能上工作。我实际上不明白,在这种情况下,为什么在客户端生成时间戳对您来说更好 - 这段时间过后,客户端仍会从您的服务器获得响应。
我唯一能想象的是当用户从另一个信息渠道(不是你的服务器,可能是 Skype 或其他)获取他们的信息时。在所有其他情况下,当所有玩家都获得相同的延迟时,您为什么要打扰?
P.S.: 你应该给你的问题一些背景,否则人们只能猜测你的最终目标。
我必须从客户端获取值到服务器并排除它被替换的可能性,因为它非常重要(值是动作的时间戳)。是否可以发送假值或没有理由担心?怎么做?
我将在将请求发送到服务器(将其存储)之前使用 javscript 中的日期函数获取当前日期,到达服务器后将使用
生成新的时间戳时间戳(dateFormat.parse(strDate).getTime()).toString();
现在我知道区别了
Is it possible to send fake value
是的,是的。在在线多人游戏中,您通常不允许客户端参与游戏逻辑,除了将用户输入发送到服务器。
How to do it?
如果您还想使用,可以使用 getTime()。
The difference between two was 12-50ms, but when server was executing scheduled tasks, difference was ~1000ms.
这就是所谓的延迟,或者从发送请求到处理请求 + 结果返回之间的延迟。你应该在你的服务器性能上工作。我实际上不明白,在这种情况下,为什么在客户端生成时间戳对您来说更好 - 这段时间过后,客户端仍会从您的服务器获得响应。
我唯一能想象的是当用户从另一个信息渠道(不是你的服务器,可能是 Skype 或其他)获取他们的信息时。在所有其他情况下,当所有玩家都获得相同的延迟时,您为什么要打扰?
P.S.: 你应该给你的问题一些背景,否则人们只能猜测你的最终目标。