1

我目前正在开发一款以 Google App Engine 作为后端的 Android 多人纸牌游戏。我想知道我应该使用哪种协议来与服务器、UDP 或 TCP 通信 android 客户端?我知道它们之间的“干燥”差异,但我不确定在这种情况下什么适合我。游戏将包含几个(10 多个)房间,每个房间可以容纳 4-6 名玩家。

4

3 回答 3

2

您应该确保 Google App Engine 支持您想要使用的所有内容。有一些方法可以解决这个问题,有些选项在 GAE 上不可用。你提到你想要几个不同的游戏室,我假设你希望它是实时的。Google App Engine 对线程和套接字服务器等有一些限制。这些限制可能会使这种类型的应用程序难以以有效的方式进行(不使用“轮询”)。

有一些方法可以解决这个问题,比如使用 Google 的 Channel API:http ://code.google.com/appengine/docs/java/channel/

API 看起来相当不错,但它将您的托管选项限制为只有 Google App Engine,我想这还不错,您以后可以随时重写应用程序的这一部分。

于 2011-03-04T09:21:46.350 回答
0

使用 Google App Engine,您只能与 HTTP/HTTPS 通信,不允许 UDP/TCP 套接字通信。

于 2011-03-04T08:40:50.540 回答
0

如果您希望它在大多数情况下都能正常工作,那么最好将 HTTP 与 JSON 结合使用。您更有可能确定您的用户流量将通过提供商代理等。

我会远离 UDP 远距离。无法保证 UDP 数据包实际传送到客户端或服务器,您甚至都不知道它们丢失了。UDP 唯一合理的情况是,如果您正在开发一个所有人都在同一个网络上的游戏。但是,您可能只是将 TCP 全部刮掉,然后使用蓝牙。

于 2011-03-04T07:46:54.213 回答