GAE可以充当XMPP服务器吗?

kas*_*uku 21 google-app-engine xmpp

我正在考虑使用GAE构建一个多人游戏.当玩家A移动时,我想记录细节,然后让玩家B知道移动.

我想我可能会在我的客户端获得一些开源XMPP库,如果可能的话,通知我的应用程序存在?我不想强迫玩家注册像google talk这样的服务,所以我会根据会话ID动态生成jid.

想听听你的意见!

谢谢

dar*_*dar 9

您无法将您的gae应用程序设置为xmpp服务器,因为您无法打开套接字 - 这样做会受到api的限制.

但是,您不需要运行xmpp服务器来实现您想要的功能.您可以使用appengine api中提供的XMPP库,使您的应用成为您的游戏"客户"可以在此处查看python api的客户端:http://code.google.com/appengine/docs/python/xmpp/.并非所有游戏客户都需要gtalk客户端,但他们需要能够桥接到gtalk,我相信大多数人都能够.

这里有一个简短的示例:http://code.google.com/appengine/articles/using_xmpp.html

  • 该示例假定您的用户已拥有xmpp客户端和ID.我认为OP希望在没有这个假设的情况下工作 - 游戏本身就是客户端,并会生成匿名ID.这种情况也会奏效吗? (6认同)
  • 简短的回答是否,或者是,但他需要在GAE之外运行自己的xmpp服务器来创建这些匿名的xmpp id,因为GAE客户端无法创建新的ID.如果您选择创建匿名xmpp ID,您可能正在这样做,因为您有一个自定义客户端并通过xmpp隧道化您的游戏协议,对吧?如果想要使用GAE为xmpp服务器供电,由于无套接字规则,该服务器无法工作.但是您可以使用外部xmpp服务器并使用GAE来执行转弯引擎. (2认同)