实时移动多人在线游戏[关闭]

Posted

技术标签:

【中文标题】实时移动多人在线游戏[关闭]【英文标题】:Real-time mobile multiplayer online game [closed] 【发布时间】:2014-09-11 10:57:07 【问题描述】:

我的任务是开发多人在线游戏的服务器架构(适用于安卓和 ios)。游戏会涉及玩家之间的消息交互(不会发送太多数据,但会很频繁)。

在浏览了互联网之后,web-sockets 和 XMPP 服务器似乎对我来说是可用的选项。而且我有点倾向于 Web Sockets,基本上我是一名 Ruby on Rails 开发人员(对我来说可用的选项是 faye)。

在深入挖掘之后,我发现了 NodeJS 中使用的 Socket.IO。它看起来不错,但我有点担心可扩展性。我们预计未来会有巨大的流量,所以我不确定 NodeJS 是否可以处理这样的流量。

你们有什么建议,Web Sockets(如果是,那么对我来说最好的选择)还是 XMPP 服务器?

【问题讨论】:

【参考方案1】:

如果您是 Rails 开发人员并且对使用 Web 技术感到自在,那么您绝对应该使用 WebSockets。

XMPP 很棒,但使用 Ruby 处理 XMPP 很困难,您需要先学习 XMPP。此外,大多数 XMPP 服务器都是用 Erlang 编写的。

对于 Rails 应用程序上的 websocket,您的最佳选择是 websocket-rails。它建立在 Faye 和 Eventmachine 之上,速度非常快。我们目前正在将它用于具有近 1k 连接并且仍有很大增长空间的实时聊天应用程序。

顺便说一句,如果你要使用 websocket-rails Thin 网络服务器,它真的很好用。您可以创建集群并进行线性扩展。

【讨论】:

以上是关于实时移动多人在线游戏[关闭]的主要内容,如果未能解决你的问题,请参考以下文章

如何在实时多人游戏中移动对象? (统一的 Google Play 游戏插件)

Firebase 实时多人游戏

如何同步播放服务实时多人游戏

谷歌玩游戏服务多人支持在两台设备上显示相同的数据[关闭]

保存的游戏+实时多人Android

多人在线游戏(MMO)|建筑|学习路径