谷歌应用引擎

4
  1. 我想知道是否可以在Google应用引擎上轻松地举行像Packman这样的网络服务器游戏?就响应速度而言。 我想设置一个服务器,可以管理游戏桌,在其中进行游戏。 每张桌子只能容纳两个玩家。

  2. 我不明白我是否可以上传Java小程序到GAE以及如何实现。

  3. 关于其他适用于实时动作游戏的免费服务器,您有什么其他建议吗?

谢谢


这些产品分别被称为“谷歌应用引擎”和“吃豆人”。 - Nick Johnson
2个回答

3
  1. GAE只支持短连接(最长约30秒)。这意味着您不能在客户端和GAE服务器之间保持永久连接。这有效地阻止了从服务器到客户端的推送通知,在大多数游戏设置中是必需的。

  2. 为了缓解这一限制,谷歌推出了Channel API,使您能够向客户端推送消息。但是您需要在客户端使用他们的JavaScript库。您可以编写一个Applet来调用JavaScript以访问此库,但这可能有点笨拙。

总的来说,由于这些限制,GAE可能不适合您的需求。

更新:

还有另一个原因,为什么GAE不适合用户之间的实时通信:客户端对GAE应用程序的请求可以由Google选择的任何服务器提供服务。两个通信的用户可能连接到两个不同的服务器,甚至位于不同的数据中心(甚至可能在不同的洲)。要在它们之间传递数据,您需要将所有消息存储到数据存储区(较慢)或存储到memcache(不可靠,可能很慢,因为它需要在服务器/数据中心之间传播)。


好的,那么你知道其他免费的解决方案吗?你尝试过使用GAE实现实时游戏吗? - Mulder
你真的需要在客户端使用小程序吗?人们讨厌它们因为加载和初始化时间太长。建议使用HTML / JavaScript或Flash。 - Peter Knego
1
就你的情况(实时吃豆人游戏),我会选择Flash,因为它有很好的开发工具,在客户端有广泛的渗透率,最重要的是支持点对点通信。Flash客户端可以直接通过点对点通信进行通信,无需服务器介入。这大大降低了延迟。 - Peter Knego
@Peter,你真的建议在嵌入式Flash应用程序之间使用点对点通信吗?除了逃避单一源安全模型可能带来的噩梦外,你真的想把NAT穿越的负担强加给这个可怜的用户吗? - Nick Johnson
@Nick - 是的,我是认真的。Adobe已经在Flash 10.1中添加了P2P网络功能。它可以进行P2P视频、音频和消息传递。http://labs.adobe.com/technologies/cirrus/ - Peter Knego
显示剩余3条评论

0
  1. 您可以使用永久后端以获得快速响应并突破30个响应限制。您可以手动定义后端实例。如果将其设置为永久性,则始终处于开启状态。您可以使用自己的内存缓存实现来快速存储数据。不确定,但也许数据存储的性能对您来说还可以接受。如果DataStore良好且您没有需要超过30秒的请求,请使用高性能设置的前端。
  2. 是的,您可以上传小程序。只需将其放在war文件夹中的某个位置,并从jsp / html中引用它即可。
  3. 嗯,如果您需要Java,并且希望免费启动项目-我不知道GAE的替代方案。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接