我正在 Google AppEngine Channel API 之上开发一个聊天应用程序,一个挑战是在多个窗口/选项卡(在单个浏览器中)中运行时协调/同步聊天。
特别是,如果用户在一个窗口/选项卡中打开了一个对话,然后打开一个连接到我的网站的新窗口/选项卡,我希望相同的对话出现在新窗口/选项卡中(这是功能Facebook 聊天和其他网站都有)。我相信这可以通过为用户打开的每个窗口打开一个新频道并让服务器确保每个频道都有最新的对话数据来实现,但我担心达到限制(如果有一个)关于 Channel API 允许的通道数量 - 我也担心这种方法的效率。
所以,我的问题是:1)从效率/有效性的角度来看,为单个用户的每个窗口/选项卡打开一个新频道是否有意义?2)我可以向单个用户开放的频道数量是否有任何限制?3)我可以打开的频道数量是否有总体限制?4) 是否有其他更智能的方式来实现我的目标(可能使用 cookie 或以某种方式在多个窗口/选项卡之间拆分来自单个通道的数据)?
谢谢你和亲切的问候亚历克斯