我是一个android开发人员,我做了一些棋盘游戏。现在我想让我的一些棋盘游戏成为多人游戏。我不想创建和托管我自己的web服务,所以我想到了P2P。
我发现的第一件事是XMPP协议,但是它不是真正的P2P,但是如果我可以使用现有的google talk服务,我已经准备好了。在不影响google talk客户端正常工作的情况下使用您现有的google帐户,这是可能的吗?
然后我听说了JXTA,一个真正的P2P解决方案,它已经从J2ME移植到了安卓(http://code.google.com/p/peerdroid/)。
也许我在这里把事情搞得过于复杂了(就像我有时做的那样)
我只想知道为棋盘游戏做简单P2P的最简单的方法。
欢迎您的所有意见!提前感谢
发布于 2011-06-10 21:40:21
基本上,如果您想编写多用户游戏或构建在XMPP (Jabber)之上的游戏,您应该认真研究XMPP的pubsub扩展。它是为将数据从服务器推送到客户端而设计的,其方式与HTTP相反。在HTTP中,客户端必须一直从服务器获取信息,才能知道何时有新数据被推送。虽然XMPP被设计为将数据推送到客户端,但当发生某些事情时。在服务器和客户端上使用的资源更少。
您不应该使用XMPP的聊天部分,因为这会干扰用户的存在。
在pubsub中,您可以创建节点树,其中客户端可以监听在客户端订阅的树中的任何节点或子节点中发布的任何新数据。因此,如果某个客户端在一个节点上发布数据,则订阅该节点的所有客户端或任何父节点都将收到有关此数据的通知。
XMPP的优点在于它是可扩展的,因此您可以使用自己的扩展来扩展协议。我还为您提供用户授权、身份验证和加密,您不需要自己进行调试。
您可以使用任何支持pubsub的XMPP服务器,也可以自己托管一台服务器。有很多服务器可以做这件事。据我所知,GTalk不支持PubSub。
https://stackoverflow.com/questions/2382293
复制相似问题