Android两人游戏将在互联网上玩

Android两人游戏将在互联网上玩,android,android-c2dm,Android,Android C2dm,我已经开发了一个简单的android两人国际象棋游戏,可以使用蓝牙进行游戏。我想扩展它,让它可以通过互联网播放。当一个玩家移动时,该移动应通过互联网传输给另一个玩家 如何做到这一点 我听说过C2DM机制。它是否适合我描述的场景,是否可靠 谢谢:)C2DM它不是用来传输信息的,即使它们很小,比如“b4中的马”或者类似的东西。它的设计目的是通知设备一些信息,可能是一个文档的更新版本或网站上的更多文章。。像这样的东西。。它不是为设备间通信而设计的。而且它可能还不够快,不适合实时下棋 你应该寻找一种更为

我已经开发了一个简单的android两人国际象棋游戏,可以使用蓝牙进行游戏。我想扩展它,让它可以通过互联网播放。当一个玩家移动时,该移动应通过互联网传输给另一个玩家

如何做到这一点

我听说过C2DM机制。它是否适合我描述的场景,是否可靠


谢谢:)

C2DM它不是用来传输信息的,即使它们很小,比如“b4中的马”或者类似的东西。它的设计目的是通知设备一些信息,可能是一个文档的更新版本或网站上的更多文章。。像这样的东西。。它不是为设备间通信而设计的。而且它可能还不够快,不适合实时下棋


你应该寻找一种更为传统的通过互联网进行交流的方式,或者搜索一些对你有帮助的库(我很确定存在一些库)。

一种很好的方法是在对等方之间使用简单的直接TCP连接

如果您是Java套接字编程新手,请尝试以下方法:


嗯,C2DM正是你想要的一款国际象棋游戏;当oppo轮到他时(可能是几分钟/小时/几天后?)得到通知。我已经和一些谷歌安卓开发者讨论了我的游戏,他们说C2DM是实现这一点的理想选择。不过,你需要通过一个集中服务器(虽然不是必需的,但非常明智),因为可能会出现重新同步游戏状态等问题。担心“达到极限”?首先,我的c2dm账户限制为每天“仅”100000条消息。我猜你是在买饮料,如果你碰上了

国际象棋通常通过电子邮件进行。你可以这么做

当然,任何集中式/联邦消息传递系统都可以工作

更好的方法是向应用程序添加jabber客户端,并让程序生成用于自动消息传递的帐户名。您可以托管jabber服务器或在免费提供商上生成帐户。

如果您了解Python或Java

或者,现在有两种广泛使用的web应用程序API样式:SOAP XML和RESTful web服务

如果您知道RoR,我建议您使用JSON/REST,因为您可以使用Apache来部署应用程序。免费,非常简单,使您的服务器非常可靠

你可以,我之所以提到这一点,是因为我的朋友们一直都在这样做,在游戏之间使用twitter作为服务器

我还发现了一个名为lib的库,它看起来很有前途


祝你好运。

我认为C2DM不是下棋的正确方式,因为不能保证消息会被发送。您需要更可靠的数据传输方式

是的,C2DM非常适合这种类型的游戏。这就是我在自己的游戏()中使用的东西,这是一个android的通信国际象棋客户端

使用C2DM时要考虑的事项:


  • 您不向设备发送信息,而是通知设备已进行移动。您不使用C2DM传输数据,而是使用它来通知某些内容已更改

  • 它可用于2.2+Android,这是大多数设备。但是如果你想支持旧设备,你就必须考虑另一种选择。我正在对旧设备使用轮询

  • 您必须请求开发者访问,然后一旦您的应用程序准备就绪,您必须请求生产状态。如果你不这样做,一旦发布,你会很快达到开发者状态配额!他们非常慷慨的生产配额,但你必须解释你使用它的目的,它也可能需要几个星期才能被接受

  • 你的用户必须拥有一个经过授权的谷歌账户,否则C2DM将无法使用。大多数用户都有与其设备关联的帐户,但有些用户没有,这意味着您可能需要验证帐户的存在以通知用户

  • 它是可靠的,但有时设备将不得不等待消息。有时几分钟。通常是即时的

希望有帮助

更新: C2DM现在已经被弃用,取而代之的是谷歌的

此外,我强烈建议您考虑其他选择,因为将自己绑定到特定于谷歌的API意味着您将无法支持外部市场。对于替代方案,我目前正在评估,也将考虑。可能还有其他我还没有考虑评估的替代方案

更新: 非谷歌推送通知的评估更新:
Amazon SNS并不是这项任务的一个项目,而绝大多数应用程序的城市飞艇成本太高。不幸的是,所有其他替代方案也都非常昂贵,尤其是如果你的应用程序(如我的)严重依赖推送的话。

我这样做是为了我的在线2D rpg:

基本上,使用中间人服务器来协调所有客户机之间的数据。 您只需打开一个套接字并与中间服务器通信,它负责将信息传递给任何其他连接的客户端


我不推荐C2DM,因为消息限制,而且延迟仍然很大。使用您自己的服务器,您可以对其进行优化,而且您将是唯一使用该服务的用户,因此您的数据将更快地传送。

另一种选择是使用某种IM作为应用程序的通信媒介。例如,用于像GTalk一样连接到XMPP Im。提示用户在那里为您的游戏创建帐户。 并使用它通过IM发送和接收命令。这样,您就不需要设置中介服务器

如果用户知道他在和谁玩,这就行了。要收集用户数据并让他们搜索可用的玩家,您仍然需要设置服务器。IRC聊天室可能也是避免这种情况的一种选择

  • GTalk只是一个例子。你可以用