如何将用户随机匹配与Firebase



我正在尝试创建一个游戏,其中用户使用firebase随机匹配。

我匹配它们的想法就是这样:

  1. 用户A来了,读取游戏列表。如果没有任何游戏等待开始游戏。将自己设置为发起人,对手为无效。
  2. 用户B来了,读取游戏列表。找到用户A的游戏(对手为null)并加入(他成为对手)
  3. 如果用户c在用户b读取游戏列表的那一刻到用户B将自己称为对手的那一刻(对他的对手仍然是无效的时刻),会发生什么。基本上是并发问题。

我已经阅读了有关交易的信息而不是阅读/写作数据。

交易块用于并发。他们要做的是在两个用户尝试同时写入同一区域时防止问题。就像您说的那样,这通常是喜欢的。因此,如果游戏当前只有1个玩家,并且您节省了0个值,那么其他玩家就会知道游戏是"打开"的。当玩家尝试连接到该游戏时,他们会写入该区域并将0更改为1。如果另一个玩家试图同时连接交易块,现在将发射。当他们获取数据时,他们会看到1,而不是零。在这一点上,您退缩并寻找新游戏。不确定这是否是最好的方法,但应该起作用。

最新更新