gpt4 book ai didi

java - Tomcat JSR 356 websocket 刷新页面时出现异常

转载 作者:行者123 更新时间:2023-11-28 22:12:57 25 4
gpt4 key购买 nike

我有 ServerEndpoint 类:

@ServerEndpoint(value = "/websocket", configurator = ServletAwareConfig.class)
public class WebsocketEndpoint {

@OnOpen
public void onOpen(Session session) {
System.out.println("OnOpen");
}

@OnClose
public void onClose(Session session) {
System.out.println("OnClose");
}

@OnMessage
public void onMessage(String message, Session session) {
System.out.println("OnMessage");
}

@OnError
public void onError(Throwable t) throws Throwable {
System.out.println("OnError");
}
}

当我刷新页面时,onError 被调用并且异常 t 包含下一个描述:java.util.concurrent.ExecutionException: java.net.SocketException: 断管

可以是什么原因?

最佳答案

当我使用 Chrome 或 Chromium 打开页面时遇到相同的异常。 (当我使用 Firefox 时,它永远不会发生)。我不确定您是否也在使用 Chrome。我想这是因为 V8 引擎。

我的解决方案是在离开页面之前关闭网络套接字:

window.addEventListener ("beforeunload", function(){ socket.close(); });

但是当我使用 Tyrus 时,我没有看到任何这样的异常。作为我的网络套接字服务器。希望有人能说明这个问题的直接原因。谢谢!

关于java - Tomcat JSR 356 websocket 刷新页面时出现异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23984752/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com