由于频道无故失效而造成的持续断开连接 [英] Constant disconnects due to channels going stale for no reason

查看:71
本文介绍了由于频道无故失效而造成的持续断开连接的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

自从前几天发布最新版本以来,我们的用户不断被断开,因为频道令牌在创建数分钟后就会过时。我们的令牌设置为持续5个小时,但如果它们持续5-10分钟,我们很幸运,当频道关闭时,我们甚至无法重新连接新的频道令牌,直到用户刷新。



Javascript错误触发了它的开始。它看起来像这样:



NetworkError:400未知SID - http://89.talkgadget.google.com/talkgadget/dch/bind?VER=8&clid=C9C2EFC06C7C5163&gsessionid&prop=data&token=AHRlWrrWl611ZMMDw8Apgi5vdYuS9UslofxEiJI47-2n4rkPgmuu1z0AN-UNQcyNEvhck-AYAMSLPru8Aumooz62hYNNbLTbi1a3lTSAzGEyj6TsXZirJYE&RID = rpc& SID = BEBDEFDA92C6A9F7& CI = 0& AID = 54& TYPE = xmlhttp& zx = gsjg8mb1i987& t = 1 然后,在Firefox萤火虫,控制台会无限次地收到垃圾邮件,其中包含

频道名称不匹配;消息被忽略了

直到发生刷新。



我们的网站是一个聊天的实时交互式网站。我们的用户发送给我们的电子邮件令人不快,他们不断断开连接。他们正在离开该网站。这不仅损害了我们的用户基础,而且还有钱,而且我们无力做任何事情,因为这个错误与Google App Engine有关。



请修复此问题或立即回滚到以前的版本,直到找出结果。最新版本被打破。

解决方案

我还没有能够重现这一点,但我仍然在看它。同时:如果你在收到错误后显式调用socket.close(),你能创建一个新的Channel对象并重新连接吗?如果这不起作用,甚至可以尝试从DOM中手动删除ID为wcs-iframe的元素。您应该能够在执行此操作时使用原始令牌,而不是获取新令牌。


Ever since the latest release a few days ago, our users are constantly being disconnected due to channel tokens going stale with minutes of being created. Our tokens are set to last for 5 hours, but we're lucky if they last for 5-10 minutes and we cannot even reconnect with a new channel token when the channel closes until the user refreshes.

A Javascript error triggers the beginning of it. It looks like this:

NetworkError: 400 Unknown SID - http://89.talkgadget.google.com/talkgadget/dch/bind?VER=8&clid=C9C2EFC06C7C5163&gsessionid&prop=data&token=AHRlWrrWl611ZMMDw8Apgi5vdYuS9UslofxEiJI47-2n4rkPgmuu1z0AN-UNQcyNEvhck-AYAMSLPru8Aumooz62hYNNbLTbi1a3lTSAzGEyj6TsXZirJYE&RID=rpc&SID=BEBDEFDA92C6A9F7&CI=0&AID=54&TYPE=xmlhttp&zx=gsjg8mb1i987&t=1

Then, in Firefox Firebug, the console gets spammed infinitely with

channel name mismatch; message ignored

Until a refresh occurs.

Our site is a real-time interactive site with chat. Our users are sending us emails upset that they keep getting disconnected. They're leaving the site. This is costing us not only goodwill with our user base, but also money and we are powerless to do anything because the bug is with Google App Engine.

Please fix this or rollback to the previous build immediately until you figure this out. The latest build is broken.

解决方案

I haven't been able to reproduce this but I'm still looking at it. In the meantime: if you explicitly call socket.close() after receiving the error, can you then create a new Channel object and reconnect? If that doesn't work, you could even try manually removing the element with id "wcs-iframe" itself from the DOM. You should be able to use the original token when doing this instead of fetching a new token.

这篇关于由于频道无故失效而造成的持续断开连接的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆