回合制游戏的最佳Android后端?

时间:2011-06-09 19:02:55

标签: php android networking backend multiplayer

我想知道是否有人对Android应用程序的最佳后端有任何好的建议,玩游戏类似于与朋友的话。非常转弯,有时会持续多天。

第一个出现在我头脑中的解决方案是简单的PHP / SQL,其中包含JSON响应,因为它很容易实现。虽然我只是想知道是否有人对此有任何经验并且可以告诉我它是否有任何重大缺陷。例如扩展性差,并发用户少等等。

PHP / SQL是一个很好的解决方案吗?我应该更多地使用TCP / IP查看Java服务器吗?即使是这些消息的爆发?

谢谢!

2 个答案:

答案 0 :(得分:5)

我已经使用smartFox套接字服务器(很久以前)和PHP / MySQL来处理网络上的“多人状态同步”(最近)

在我看来,对于一个可能会持续数天的游戏,数据库系统会更好。套接字服务器必须将数据保存在内存中,这些数据可能在数小时或数天内未被使用。 PHP / MySQL(或SQL)+ JSON可能非常适合。大型PHP站点为数千个用户提供页面,并且可以在每页渲染时执行多个查询,因此我认为缩放应该没问题。

使用数据库系统的优点是它可以与平台无关。你的Android游戏可以通过类似PhoneGap的东西在iOS等上运行。

编辑:数据库系统的缺点是推送通知可能更难以装配。这不属于我的专业领域。

答案 1 :(得分:1)

我会完全按照你的建议行事。它不需要是PHP,但基本上你将拥有一个Web服务器(可能是nginx,apache等),它可以是你想要的任何语言。

我最喜欢的方法之一是使用Django MVC设置,在后端使用Python(用于Python的精彩)并使用HttpClient(或甚至是Https)进行通信。

我之间使用JSON(从XML开始,但由于通常较低的开销,因此更改为Json)。

您可能还想要某种PUSH系统设置。使用C2DM或第三方API。我使用的API主要是因为它是免费的&前C2DM,称为Xtify。它被设计用作地理定位工具,但它具有PUSH服务(并且您不需要使用Geo的东西)。最好的部分,它是免费的!

这样,您可以打开应用程序,但不会因为POLL循环而浪费电池续航时间,只有当其他玩家的瞬间结束时才会获得。

编辑:我只是看了一下,似乎Xtify收取每个用户每月超过300条消息的费用......所以这可能不再是PUSH服务的最佳选择。