如何从处理程序获取连接并在自定义类中设置持久性

时间:2012-11-19 07:50:05

标签: python http python-2.7 tornado

需要建议,因为我是编程新手,我正在制作简单的多人游戏(客户端是手机,我有C ++代码),我正在使用Tornado / Python 2.7编写服务器端。我在服务器上定义了Python类来定义播放器等等......我的问题是当用户通过谷歌登录时

class GoogleHandler(tornado.web.RequestHandler, tornado.auth.GoogleMixin):
    @tornado.web.asynchronous
    def get(self):
        if self.get_argument("openid.mode", None):
            self.get_authenticated_user(self.async_callback(self._on_auth))
            return
        self.authenticate_redirect()

    def _on_auth(self, user):
        if not user:
            raise tornado.web.HTTPError(500, "Google auth failed")
        print(user)
        self.set_secure_cookie("user", tornado.escape.json_encode(user))


class Player(Document):

    def __init__(self, t):
        self._token = t
        self._connection = None

如何获取该连接并放入Player类,以便稍后我可以向该游戏的所有用户广播消息(只有3个用户可以玩一个游戏,在服务器上可以是很多游戏)。我可以使用HTTP请求登录,我需要持久的HTTP,所以我可以在三个玩家之间广播消息(澄清:三个玩家有登录和玩游戏,当一个发送消息到服务器我需要将该消息广播到其他两个)。 有人可以帮忙建议如何做到这一点吗?

1 个答案:

答案 0 :(得分:0)

我认为您应该制作域名流程。当您收到带有groupid的邮件时,会将其发送给客户端,然后将此邮件显示给用户。