【发布时间】:2017-01-24 19:21:02
【问题描述】:
编辑:答案是使用 firebase 实时数据库。
我为下一个人写了一个库。
https://github.com/flipflopapp/turnbased-games-with-firebase
-- 问题--
我正在实施两人国际象棋游戏 (www.halfchess.com),并且正在考虑使用 firebase 消息传递(而不是使用套接字来创建房间和两人比赛)。该游戏将涉及在两到三分钟内在两台设备(可以是安卓或 iOS)之间发送 60-100 步棋作为消息。我的 nodejs 服务器将具有启用设备到设备消息传递的代码(从一个播放器接收并发送到另一个播放器)。
我无法使用 Google 游戏服务,因为我的应用中没有实现 google 登录(我只打算保留 facebook 登录)。使用 firebase(与套接字相比)的优点是我将需要编写更少的代码(重新连接等),并且可以解决可伸缩性问题。
我的问题是:-
(1) 当用户在两台iOS设备(而不是安卓设备)上互相对战时,会不会出现问题? (例如更高的延迟)
(2) 如果用户在物理上改变位置并且包含棋步的消息未传递,何时重试?
(3) 对于快速的国际象棋游戏,延迟是否可控?这相当于正常聊天速度的 8-10 倍。
虽然我阅读了有关该主题的更多内容,但也许已经尝试过的人可以发表评论。
【问题讨论】:
标签: firebase-realtime-database real-time firebase-cloud-messaging multiplayer