【问题标题】:how to communicate between two clients using channel API?如何使用通道 API 在两个客户端之间进行通信?
【发布时间】:2013-08-07 23:20:06
【问题描述】:

我已经成功实现了通道 api 来创建浏览器和应用引擎服务器之间的连接。 我想问从第二个客户端向第一个客户端发送消息的方式是什么。 我没有得到实际的算法。

【问题讨论】:

    标签: google-app-engine message channel-api


    【解决方案1】:

    您用于创建与应用引擎服务器的连接的 client_id 是您向另一个 client_id 发送消息所需的。要么将其保存在数据存储中,要么可以通过其 ID 构建,但您仍然需要某种方式来了解其他 client_id 是什么,例如:

    创建一个房间:

    room = models.Room(user=user_id)
    room.put()
    token = channel.create_channel(room.key.id() + user_id)
    

    其他人加入房间:

    room = models.Room.query().get()
    room.another_user = user_id
    room.put()
    token = channel.create_channel(room.key.id() + user_id)
    

    然后在你的 js 上传递房间 id 和 token 以供参考以发送消息:

    room = models.Room.get_by_id(room_id)
    send_to = room.user if room.user != user_id else room.other_user
    channel.send_message(room.key.id() + send_to, message)
    

    请注意,每个样本上的 user_id 都是当前连接的用户。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-02-21
      • 2020-10-09
      • 2011-10-16
      • 2012-06-20
      • 2018-01-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多