【问题标题】:A realtime multiplayer game using XMPP on Google App Engine?在 Google App Engine 上使用 XMPP 的实时多人游戏?
【发布时间】:2011-03-17 09:07:53
【问题描述】:

从理论上讲,这样的事情可能吗?

我知道 Google App Engine 无法建立套接字连接,所以我认为使用 XMPP 向客户端发送消息会起作用。 Google App 引擎上的 XMPP 是否足够低延迟以适用于实时游戏?

我正在研究 Smartfox 之类的多人游戏服务器,但我认为该软件的成本加上在我自己的服务器上运行它太麻烦了,所以我认为在 Google 的硬件上运行它会是个好主意。

如果您对实时多人游戏服务器有任何其他建议,我很想听听。

【问题讨论】:

  • Google 的免费配额是每分钟 3,000 条 XMPP 消息(每秒 50 条),而他们的付费配额是这个的 10 倍。尝试在其上编写游戏服务器并不能真正扩展 - 假设每秒 1 条消息(对于任何真正的实时游戏来说这可能是很低的),那么在任何给定时间最多分别有 50 或 500 个客户端。
  • 我不知道 XMPP,但是有一个使用 WebSockets 的 Quake 演示。 code.google.com/p/quake2-gwt-port
  • 谢谢琥珀。 @zneak 是的,但是该演示无法在应用引擎上运行。我对 iPhone/Android 游戏的服务器感兴趣。 App Engine 是否适合此类应用程序?如果是这样,我会为实时服务器使用什么协议?
  • 对不起,我真的不知道。如果我有更好的主意,我会发布一个答案。 ://
  • 细节很简单,但谷歌最近宣布了 Channel API,它允许使用长轮询请求(a la Comet)通过 HTTP 推送消息。不确定这是否足够实时,但有可能。 googleappengine.blogspot.com/2010/05/…

标签: google-app-engine xmpp real-time multiplayer


【解决方案1】:

正如 npdoty 指出的那样,我们刚刚发布了 Channel API,它正是针对这种用例而设计的。它尚未发布,但最新 SDK 中提供了一个初步版本供您试用。目前尚无文档,但您可以探索 Trivia Quiz 示例应用程序以了解其工作原理。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-06-19
    • 1970-01-01
    • 2014-10-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-24
    相关资源
    最近更新 更多