我已经在 Tomcat 7 中使用 javascript 客户端实现了 websocket 连接。它工作得很好,除了一种情况:当我一个接一个地打开几个连接(通过刷新客户端)然后关闭所有连接时,Tomcat 崩溃了。经过调试,发现导致Tomcat崩溃的函数是WsOutbound对象的close()函数。这是我的代码:
尝试 {
m_tickMesageInbound.getWsOutbound().close(0, null);
} catch (IOException e) {
logger.debug("关闭输出时出错");
( m_tickMesageInbound
是一个扩展 MessageInbound 的对象)
我有一个理论,即我试图关闭的连接已经关闭,从而导致错误,但没有接口可以检查这一点。
我尝试在 messageInbound 类中覆盖 onClosed() 函数,并将代码设置为在发生关闭函数时跳过它,但这没有帮助。
需要注意的是,Tomcat 完全崩溃,即下线,没有留下任何日志来解释问题。关于如何解决这个问题的任何想法?
问问题
498 次