【发布时间】: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