有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

Websocket从IE 11打开后出现javascript EOF异常

我正在使用JavaXWebSocket服务器和javascript。 Websocket连接发生在除IE之外的所有其他浏览器上(对IE 11和10感到厌倦)。 调用onOpen并进行连接,然后抛出EOFEException并返回空错误消息。下面是错误的跟踪

java.io.EOFException
        at org.apache.tomcat.util.net.NioEndpoint$NioSocketWrapper.fillReadBuffer(NioEndpoint.java:1250)
        at org.apache.tomcat.util.net.NioEndpoint$NioSocketWrapper.read(NioEndpoint.java:1190)
        at org.apache.tomcat.websocket.server.WsFrameServer.onDataAvailable(WsFrameServer.java:72)
        at org.apache.tomcat.websocket.server.WsFrameServer.doOnDataAvailable(WsFrameServer.java:171)
        at org.apache.tomcat.websocket.server.WsFrameServer.notifyDataAvailable(WsFrameServer.java:151)
        at org.apache.tomcat.websocket.server.WsHttpUpgradeHandler.upgradeDispatch(WsHttpUpgradeHandler.java:148)
        at org.apache.coyote.http11.upgrade.UpgradeProcessorInternal.dispatch(UpgradeProcessorInternal.java:54)
        at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:53)
        at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:790)
        at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1459)
        at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
        at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
        at java.lang.Thread.run(Thread.java:748)

基本上,我不知道这是服务器端还是客户端的问题。是否需要从客户端或服务器引入超时?或者是连接马上就要关闭了,我需要为它引入一个乒乓球框架?请帮帮我


共 (1) 个答案

  1. # 1 楼答案

    我找到了解决办法

    基本上,我们需要检查IE中的请求和响应头,请求和响应头与其他浏览器中的不同。 我使用的是“sec webSocket协议”,其中这个标题的值是在其他浏览器中创建空格,而IE 11中没有这样的空格。 因此,返回我收到的相同标题解决了问题