socket.io netty java,netty-socketio 客户端刷新后台报错

netty-socketio 客户端刷新后台报错

这个项目前后端都没有问题,但是我将这个项目的后端开启,并将其前端代码复制到我自己的项目的jsp页面中,然后启动我的项目进入jsp页面,是可以正常连接和发送消息,但是会在页面刷新的时候就会报如下错误

[nioEventLoopGroup-3-3] ERROR com.corundumstudio.socketio.listener.DefaultExceptionListener - 远程主机强迫关闭了一个现有的连接。

java.io.IOException: 远程主机强迫关闭了一个现有的连接。

at sun.nio.ch.SocketDispatcher.read0(Native Method)

at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43)

at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223)

at sun.nio.ch.IOUtil.read(IOUtil.java:192)

at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:379)

at io.netty.buffer.PooledUnsafeDirectByteBuf.setBytes(PooledUnsafeDirectByteBuf.java:288)

at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1100)

at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:367)

at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:118)

at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:610)

at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:551)

at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:465)

at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:437)

at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:873)

at io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:144)

at java.lang.Thread.run(Thread.java:745)

这个问题我找了下,觉得有如下解决办法,但是实在没有找到正确的实现方式:

1.我用的是netty-socketio-1.7.12这个jar包实现的socket.io的server,所以出现上述错误,我认为可以用netty框架中的抓取所有错误的拦截器来处理这个错误的情况,这个jar包中带的netty是4.1.5.Final版本。

2.jsp项目中有什么办法可以使js中的socket连接设置为全局变量,让其不管在哪里都可以保持连接

3.其他我所不知道的方法,请求大佬指点。。。。

如果上述方式没有办法实现,最后一个问题也是我最终目的:就是在java web jsp页面中将前端ajax轮询修改为后端推送方式的方法的想法,至少要适应ie10版本

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值