在Chrome和FF中关闭标签页时,未调用渠道API /断开入站服务

时间:2012-02-08 20:11:21

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

每次用户登录我的应用程序时都会创建套接字连接。这意味着如果他们在同一浏览器窗口中打开新选项卡,则会为每个浏 关闭这些标签时出现问题;调用不一致/断开入站服务。 这意味着对某些连接/断开连接不会被调用,而对某些连接/断开连接则被调我无法一致地重现这种情况(有时它会调用/断开,有时它不会)。

我依靠/ disconnect来清理为特定通道创建的(存储在数据存储区中)的临时对象,因此我留下了从未调用/ disconnect的所有OpenChannel对象。

这适用于Chrome和FireFox,而且从不使用IE。 我正确使用API​​吗?每个浏览器窗口是否应该有一个套接字连接而不是标签? (如果是这种情况,那么如果我们在cookie中存储令牌,我们是否重新建立与此令牌的连接?这不会算作每个客户端ID的两个连接吗?

感谢。

1 个答案:

答案 0 :(得分:1)

如果针对使用相同客户端ID创建的令牌打开两个以上的连接,则行为将变为未定义。因此,如果您使用user.user_id()作为客户端ID并且同一用户打开3个选项卡,您可能无法获得其中一个选项卡的/ disconnected回调,即使您为每个选项卡创建新标记也是如此那些标签。