首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >安卓P2P多人游戏(带a) XMPP/Google talk b) JXTA peerdroid c)

安卓P2P多人游戏(带a) XMPP/Google talk b) JXTA peerdroid c)
EN

Stack Overflow用户
提问于 2010-03-05 03:56:08
回答 4查看 8.7K关注 0票数 24

我是一个android开发人员,我做了一些棋盘游戏。现在我想让我的一些棋盘游戏成为多人游戏。我不想创建和托管我自己的web服务,所以我想到了P2P。

我发现的第一件事是XMPP协议,但是它不是真正的P2P,但是如果我可以使用现有的google talk服务,我已经准备好了。在不影响google talk客户端正常工作的情况下使用您现有的google帐户,这是可能的吗?

然后我听说了JXTA,一个真正的P2P解决方案,它已经从J2ME移植到了安卓(http://code.google.com/p/peerdroid/)。

也许我在这里把事情搞得过于复杂了(就像我有时做的那样)

我只想知道为棋盘游戏做简单P2P的最简单的方法。

欢迎您的所有意见!提前感谢

EN

回答 4

Stack Overflow用户

发布于 2010-10-22 05:12:00

克里斯托夫,你的问题有答案了吗?我最近也一直在开发一个多玩家应用程序,尽管我选择了托管服务器(最初)。不过,我现在正在重新考虑我的选择,但我使用的库完全支持点对点通信。底层协议建立在Google Protobuf之上。它本质上是一个建立在Netty之上的全双工RPC堆栈,可以使用Protobuf。下面是RPC protobuf堆栈的URL:http://code.google.com/p/protobuf-rpc-pro/

作者很有帮助,我发现了几个bug,没什么大问题。让这些库在我的Android手机上运行的问题也很小,但它们并不是非常“紧凑”。没有特别大的东西,只是不小:)。到目前为止,我还没有遇到同步和异步通信的问题。因此,我可能会将我的游戏移动到“点对点”的方式,并且只提供必要的位置/注册服务器,用于查找现有的游戏/服务器。

票数 4
EN

Stack Overflow用户

发布于 2010-03-05 16:46:00

对于您的情况,使用XMMP应该是可行的。看看来自igniterealtime的smack吧。他们有一个很好的和活动的java api,可以帮助你构建自己的jabber扩展包,可以用来传输游戏状态的变化。

我认为在同一时间使用两个google talk客户端使用相同的帐户可能会很困难。但这将是很棒的,因为你可以邀请你列表中的所有朋友直接从你的游戏中与你一起玩。这样你就可以很容易地让更多的人来玩你的游戏。

票数 3
EN

Stack Overflow用户

发布于 2010-06-30 11:40:12

根据我们所看到的,您不能使用现有的Google Talk服务/连接。你应该采纳Janusz的建议,看看smack库,这是你最好的选择。为了允许具有相同GTalk登录的多个无干扰连接,请查看XMPP地址的资源部分,它允许您同时以同一帐户登录到两个客户端。您可以有效地使您的游戏成为另一个客户端。更多信息请点击这里:http://code.google.com/appengine/docs/java/xmpp/overview.html#JIDs_and_Resources

最后,2.2中似乎有一些与设备推送通信相关的新功能,但我还没有研究过它。2.2也还没有被广泛部署,所以可能使用有限。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2382293

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档