firebase-realtime-database - 使用 Firebase 的两人象棋游戏

标签 firebase-realtime-database real-time firebase-cloud-messaging multiplayer

编辑:答案是使用 firebase 实时数据库。

我为下一个人写了一个库。

https://github.com/flipflopapp/turnbased-games-with-firebase

-- 问题--

我正在实现双人国际象棋游戏 (www.halfchess.com) 并正在考虑使用 firebase 消息传递(而不是使用套接字来创建房间和两人比赛)。该游戏将涉及在两到三分钟内在两台设备(可以是 Android 或 iOS)之间发送 60-100 个国际象棋 Action 作为消息。我的 nodejs 服务器将具有支持设备到设备消息传递的代码(从一个播放器接收并发送给其他播放器)。

我无法使用 Google 游戏服务,因为我的应用程序中没有实现 google 登录(我只打算保留 facebook 登录)。使用 firebase 的优势(与套接字相比)是我将不得不编写更少的代码(重新连接等)并且它会解决可伸缩性问题。

我的问题是:-

(1) 用户在两台iOS设备(而不是android设备)上对战会不会有问题? (例如更高的延迟)

(2) 如果用户在物理上改变位置并且包含国际象棋移动的消息未送达,何时重试?

(3) 对于快速的国际象棋,延迟是否可控?这相当于正常聊天速度的 8-10 倍。

虽然我阅读了更多有关该主题的内容,但也许已经尝试过的人可以发表评论。

最佳答案

Firebase Cloud Messaging 不适用于某种用途,除了无法保证交付时间(来自 2013 的一些研究 - 2014 显示每条消息平均超过 1 秒),FCM 可能会在此类用途中暗示 throttling案例。

另见 SO post

关于firebase-realtime-database - 使用 Firebase 的两人象棋游戏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41837202/

相关文章:

android - 如何将数据字段保存到 Firebase 用户输入

ajax - 如何处理多台服务器上的WebSocket?

ios - 未从 Firebase 收到通知

java - Android Firebase 如何处理实时服务器到本地数据库的连接

android - 创建查询以获取等于当前用户 ID 的值

javascript - jQuery map 实时数据更新

iOS FirebaseCloudMessaging 通知在调试/测试飞行或发布中不起作用

firebase - 错误 : cannot access zzb class file for com. google.firebase.iid.zzb 未找到

Android Firebase - "onDataChange"和 "onCancelled"没有被调用没有互联网连接

recursion - 如何消除这种类型的递归?