在流星中的客户端和服务器上生成相同的随机数

user1000952

使用Meteor,我需要一种在客户端和服务器上生成相同随机数的方法,因此我可以获得客户端方法的延迟补偿的好处。

我注意到流星有一个随机软件包:http : //docs.meteor.com/#random

我对随机数的生成或密码学不熟悉,并且我不太了解Random软件包的Meteor文档,所以我有一些疑问。

  1. 我可以使用该程序包实现我想要的吗?
  2. 如果是,我该如何使用它呢?如果我在客户端上使用种子来生成随机数,然后将该种子发送到服务器以重新生成相同的数字,那么这并不是一种不安全的隐式方式……因为不能信任客户端?
  3. 如果没有,还有其他方法可以实现吗?

我的问题定义步骤...

  1. 客户:生成种子
  2. 客户:从种子生成随机数
  3. 客户:将种子发送到服务器
  4. 服务器:从种子生成随机数
  5. 失败...可以窥见客户端生成的种子,并且可以对其进行操作

替代方案:

  1. 客户:询问服务器随机数
  2. 服务器:生成随机数
  3. 服务器:向客户发送随机数
  4. 失败...往返意味着您无法利用Meteor的延迟补偿

我的应用程序需要重复生成很多随机数,因此我试图避免所有这些往返。

Salketer

这取决于您要实现的目标,如果我们以MMO中的老虎机为例,则逐步完成的操作是:

  1. 用户单击“插入硬币”按钮
  2. 服务器接收到用户为一场游戏付费的通知,该游戏的结果发送给客户端
  3. 客户端等待用户旋转机器并开始滚动
  4. 客户端显示在等待用户操作+动画时收到的结果。

这有一个副作用:用户甚至可以在开始旋转轮子之前,但在付款后才能知道结果。

问题在于,如果用户在选择随机数之后有不同的选项来选择,那么如果他发现该数字不好,则可以选择成本最低的选项。为了解决这个问题,每个随机动作都需要创建自己的数字。

您可能会看到一个查看用户游戏源以发现自己被游戏“欺骗”的用户详细描述的架构:Zoot Loot不是Random

在名为clickerheroes的Flash游戏中,有些动作会产生随机结果。由于游戏每两分钟保存一次,并且没有服务器支持,因此会预先生成随机数。这样可以避免保存窍门,试试运气,重新加载,重试运气,因为相同的随机数又回来了...

尽管这不能完全满足OP的要求,但我希望它有助于向用户提供可信赖的随机数。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在Meteor中的客户端和服务器上生成相同的随机数

来自分类Dev

流星中客户端和服务器上的ObjectId之间的区别

来自分类Dev

流星中客户端和服务器上的ObjectId之间的区别

来自分类Dev

流星的createUser在客户端和服务器上运行

来自分类Dev

流星-客户端和服务器中的Account.createUser

来自分类Dev

客户端和服务器流星之间的共享集合

来自分类Dev

流星在客户端和服务器之间共享会话数据

来自分类Dev

在客户端和服务器端使用相同的呈现代码

来自分类Dev

[symfony] [backbone]客户端和服务器端使用相同的模板

来自分类Dev

在客户端和服务器端使用相同的呈现代码

来自分类Dev

从流星应用中的服务器上获取客户端的最新数据

来自分类Dev

客户端和服务器使用相同的代码

来自分类常见问题

Docker错误:客户端和服务器没有相同版本

来自分类Dev

客户端和服务器是否需要使用相同的端口进行连接?

来自分类Dev

客户端和服务器都使用相同的端口吗?

来自分类Dev

客户端和服务器的相同方法的行为略有不同

来自分类Dev

客户端和服务器是否需要使用相同的端口进行连接?

来自分类Dev

客户端和服务器上的上传速度不同-在客户端计算上传时间

来自分类Dev

客户端和服务器端javascript中“ this”的值之间的差异

来自分类Dev

如何在Mac OS(客户端)和服务器(ubuntu)上设置ssh以从丢失的临时连接中恢复

来自分类Dev

hazelcast客户端和服务器设置

来自分类Dev

Python客户端和服务器聊天

来自分类Dev

客户端和服务器之间的共享模型

来自分类Dev

Java Socket客户端和服务器

来自分类Dev

中止XMLHttpRequest的内部(客户端和服务器)

来自分类Dev

客户端预测和服务器对帐

来自分类Dev

.NET WebSocket客户端和服务器库

来自分类Dev

客户端和服务器之间的共享模型

来自分类Dev

网络猫客户端和服务器模型

Related 相关文章

  1. 1

    在Meteor中的客户端和服务器上生成相同的随机数

  2. 2

    流星中客户端和服务器上的ObjectId之间的区别

  3. 3

    流星中客户端和服务器上的ObjectId之间的区别

  4. 4

    流星的createUser在客户端和服务器上运行

  5. 5

    流星-客户端和服务器中的Account.createUser

  6. 6

    客户端和服务器流星之间的共享集合

  7. 7

    流星在客户端和服务器之间共享会话数据

  8. 8

    在客户端和服务器端使用相同的呈现代码

  9. 9

    [symfony] [backbone]客户端和服务器端使用相同的模板

  10. 10

    在客户端和服务器端使用相同的呈现代码

  11. 11

    从流星应用中的服务器上获取客户端的最新数据

  12. 12

    客户端和服务器使用相同的代码

  13. 13

    Docker错误:客户端和服务器没有相同版本

  14. 14

    客户端和服务器是否需要使用相同的端口进行连接?

  15. 15

    客户端和服务器都使用相同的端口吗?

  16. 16

    客户端和服务器的相同方法的行为略有不同

  17. 17

    客户端和服务器是否需要使用相同的端口进行连接?

  18. 18

    客户端和服务器上的上传速度不同-在客户端计算上传时间

  19. 19

    客户端和服务器端javascript中“ this”的值之间的差异

  20. 20

    如何在Mac OS(客户端)和服务器(ubuntu)上设置ssh以从丢失的临时连接中恢复

  21. 21

    hazelcast客户端和服务器设置

  22. 22

    Python客户端和服务器聊天

  23. 23

    客户端和服务器之间的共享模型

  24. 24

    Java Socket客户端和服务器

  25. 25

    中止XMLHttpRequest的内部(客户端和服务器)

  26. 26

    客户端预测和服务器对帐

  27. 27

    .NET WebSocket客户端和服务器库

  28. 28

    客户端和服务器之间的共享模型

  29. 29

    网络猫客户端和服务器模型

热门标签

归档