0

我正在寻求更多关于下一步去哪里的建议,而不是如何去做。

我正在开发一个增强现实 Android 游戏作为学生项目,但我偶然发现了一个问题。四部手机必须知道彼此的位置,并在地图上显示时间步长(为了游戏,它不应该是真正的实时)。除此之外,当其中一部手机/玩家到达某个位置或做某事时,应该通知玩家。

我想用 PHP 服务来做这件事,每部手机会在几秒钟内检查其余手机的位置(全部由 JSON),发送它的位置,就是这样。挺简单的,但是我怕随着游戏的进行会出现很多不同步和不一致的数据。由于电话不会在每个人都登录的同一秒开始。另外,我不确定如何以这种方式进行事件(例如,其中一名玩家可以隐身并且他的位置不应该在接下来 x 秒),或到达某个位置,或地图上仍有哪些物品(玩家可以“拾取”物品)。有人会比其他人更早知道。

这确实需要一个类似推送的解决方案,但我对 C2DM 并不是很熟悉,在我看来,使用它是开发中的真正开销,我需要一个 C#/Java 或类似的服务器,因为 PHP 确实可以' t 推送到云端(或者可以吗?)。我知道 C# 和 Java,但需要更多时间,因为我需要解决线程等问题。C2DM 甚至可以用于此目的吗?

基本上,我正在寻求更有经验的开发人员的想法,这里同步的最佳解决方案是什么?有什么办法可以解决 PHP 的问题并定期检查服务器,还是我应该继续使用云服务和更复杂的服务器?

抱歉,解释太长了:)。

4

2 回答 2

1

抱歉,这并不简单,但我在自己的应用程序中遇到了几乎完全相同的问题,没有办法避免这种情况,你需要;

  1. 具有 REST API 以管理和分发数据的服务器
  2. 一种建立朋友/群组的方法
  3. 一种推送数据的方法

Google Cloud Messaging 真的没有那么麻烦。

查看 Google IO 2012 代码,他们在那里使用了它,但代码不多。

http://code.google.com/p/iosched/source/browse/

您真正需要构建的是一个带有很多功能的rest api,用于识别设备并设置这些朋友组。我建议使用 Facebook 集成来建立朋友网络。

https://developers.facebook.com/

设置 REST API 的方法有无数种,但我见过的最快的方法是今年在 google IO 和 Google AppEngine EndPoints 上发布的。

http://devthots.blogspot.com/2012/07/building-awesome-android-apps-with.html

于 2012-08-06T23:56:33.680 回答
0

试试Comet,都是关于 http 请求的

于 2012-08-06T23:42:49.423 回答