1

需要建议,因为我是编程新手,我正在制作简单的多人游戏(客户端是手机,我有 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,所以我可以在三个玩家之间广播消息(澄清:三个玩家已经登录并玩游戏,当一个发送消息到服务器时,我需要将该消息广播给其他两个)。有人可以帮助建议如何做到这一点吗?

4

1 回答 1

0

I think you should make an domain process. When you get a message with a groupid, you send it to the client(s), then show this message to user.

于 2012-11-19T10:15:22.367 回答