我写了一个使用websocket的应用程序,我遇到了一个奇怪的问题。
如果我在Chrome中运行我的应用程序并尝试重新连接,它无法重新连接到websocket。
但是,如果我使用隐身Chrome,它每次都有效。
是否有一个微妙的差别在websocket在Chrome vs隐身Chrome?也许是某种缓存控制?
编辑:我运行Chrome 13。对不起,我不能提供任何示例代码,因为它揭示了我的应用程序,但问题的要点是,隐身Chrome可以建立连接到我的服务器每次,但常规Chrome成功一次,然后失败的所有后续尝试。很奇怪,对吧?
Websockets进行常规的HTTP查询来初始连接到服务器。HTTP查询在请求中也有cookie。在我的例子中,cookie很大,而隐身模式没有它,只有session_id,所以在常规Chrome中清理cookie就可以了。
我想这都与最新的hybi 10草案规范有关。从Chrome 14开始,只支持这个规范。
我也有同样的问题。这实际上可以处理您在服务器端使用的框架。我唯一的建议是不了解你的框架。确保您正在使用的服务器正确地管理接收和发送数据的套接字。