我一直在开发一个使用 Errai Messaging 的 GWT 应用程序。一切正常,直到我通过在 ErraiService.properties 文件中添加“errai.bus.enable_web_socket_server=true”来启用 Websocket。
在我尝试在 Internet Explorer 上运行之前没有出现任何问题,当第一条消息在客户端 - 服务器之间发送时,显示以下内容并且消息永远不会到达另一端。
java.lang.UnsupportedOperationException:org.jboss.errai.bus.server.io.websockets.WebSocketServerHandler.handleWebSocketFrame(WebSocketServerHandler.java:144) 不支持 io.netty.handler.codec.http.websocketx.PongWebSocketFrame 帧类型.jboss.errai.bus.server.io.websockets.WebSocketServerHandler.messageReceived(WebSocketServerHandler.java:108) 在 io.netty.channel.SimpleChannelUpstreamHandler.handleUpstream(SimpleChannelUpstreamHandler.java:75) 在 io.netty.channel.DefaultChannelPipeline.sendUpstream (DefaultChannelPipeline.java:580) 在 io.netty.channel.DefaultChannelPipeline$DefaultChannelHandlerContext.sendUpstream(DefaultChannelPipeline.java:814) 在 io.netty.channel.Channels.fireMessageReceived(Channels.java:297) 在 io.netty.handler。 codec.replay.ReplayingDecoder。io.netty.handler.codec.replay.ReplayingDecoder.callDecode(ReplayingDecoder.java:500) 在 io.netty.handler.codec.replay.ReplayingDecoder.messageReceived(ReplayingDecoder.java:437) 的展开AndFireMessageReceived(ReplayingDecoder.java:524)在 io.netty.channel.SimpleChannelUpstreamHandler.handleUpstream(SimpleChannelUpstreamHandler.java:75) 在 io.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:580) 在 io.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:575) ) 在 io.netty.channel.Channels.fireMessageReceived(Channels.java:269) 在 io.netty.channel.Channels.fireMessageReceived(Channels.java:256) 在 io.netty.channel.socket.nio.NioWorker.read( NioWorker.java:89) 在 io.netty.channel.socket.nio.AbstractNioWorker.processSelectedKeys(AbstractNioWorker.java:301) 在 io.netty.channel.socket.nio.AbstractNioWorker.run(AbstractNioWorker.java:220) 在 io.netty.util.internal.DeadLockProofWorker$1.run(DeadLockProofWorker.java:43) 在 java.util。 concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) 在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) 在 java.lang.Thread.run(Thread.java:662)
这仅在 Internet Explorer 中运行时发生。据我所知,IE 应该支持 Websocket。我一直在网上寻找有关此问题的更多信息,但找不到任何有用的信息。
希望你能告诉我更多关于这件事以及我能做些什么。