【发布时间】:2011-08-19 03:06:03
【问题描述】:
我编写了一个使用 websocket 的应用程序,但遇到了一个奇怪的问题。
如果我在 Chrome 中运行我的应用并尝试重新连接,它无法重新连接到 websocket。
但是,如果我使用隐身 Chrome,它每次都能正常工作。
Chrome 中的 websocket 与隐身 Chrome 之间是否存在细微差别?可能是某种缓存控制?
编辑:我正在运行 Chrome 13。抱歉,我无法提供任何示例代码,因为它会显示我的应用程序,但问题的要点是隐身 Chrome 可以每次都与我的服务器建立连接,但普通 Chrome 会成功一次,然后失败所有后续尝试。很奇怪吧?
【问题讨论】:
-
请提供简化的代码示例。还要确保您使用的是 Chrome 13(除非您的 WebSocket 服务器支持较新的规范)
-
尝试安装 Chrome Canary(基本上是 Chrome 15),它支持最新的 WebSocket 规范(版本 8),在此处获取 tools.google.com/dlpage/chromesxs 它将与您现有的 Chrome 13 安装并排安装。如果这解决了您的问题,那么问题可能与 Chrome 13 中较早的 WebSocket 实现有问题(这将很快在 Chrome 14 中得到修复)。
-
“重新连接”是什么意思?使用 websockets,您只需要连接一次。然后您发送(和接收)任意数量的消息,直到您明确关闭连接。如果 Incognito 在关闭之前的连接之前“重新连接”,这可能表明 Incognito 有一些特别之处。
标签: google-chrome webkit websocket