Chrome:浏览器关闭时未关闭websocket连接

时间:2012-08-01 08:40:57

标签: google-chrome websocket netty

我正在使用Netty websockets,除了这个小问题外,一切似乎都运行良好:

如果我关闭js websocket客户端的浏览器/选项卡,则在使用Mozilla firefox(目前使用firefox 14)时,websocket连接会自动关闭,但Chrome 20/21中不会发生同样的情况。

任何人都看到类似的问题/任何人都可以告诉为什么连接没有自动关闭?

2 个答案:

答案 0 :(得分:1)

这可能不对,但我无法对您的问题发表评论。如果你有一个应用程序正在运行,并且在设置 - >引擎盖下选择了“在关闭Chromium时继续运行后台应用程序”,Chrome / Chromium并没有真正关闭。

可能是它将websocket连接视为应用程序。尝试查看您的运行流程并杀死您找到的任何铬/铬工艺。

同样,这只是我的猜测。

答案 1 :(得分:0)

当用户关闭窗口或浏览器时,Chrome不会关闭连接。 它将触发Error事件。

可能的解决方法可能如下所示:

  @OnError
    public void onErr(Throwable t) {
        onClose(this.container.getWsSession(), null);

    }

但是每次都会关闭连接,触发错误。在你自己关闭连接之前,你可能不会检查throwable。

如需进一步讨论,请加入此问题:

Websocket: Closing browser triggers onError() in chrome but onClose() event in Firefox