无论怎么重启服务都是同样的问题,也无法收到在线信息。如何来清理这些无效的连接呢。
报错信息如下 会话一直是空的,一直在循环,因为客户端登录的比较多
2023-01-31 16:55:27.500 [WARN ] [n.x.m.server.ServerCoreHandler] [IMCORE-unknow]【注意】会话{uid:null}/10.51.121.2:58775被系统close了,但它里面没有存放user_id,它很可能是没有成功合法认证而被提前关闭,从而正常释放资源。
2023-01-31 16:55:27.590 [INFO ] [n.x.m.server.ServerCoreHandler] [IMCORE-tcp]与{uid:null}/10.52.255.141:62108的会话建立(channelActive)了...
2023-01-31 16:55:27.591 [INFO ] [n.x.m.s.processor.LogicProcessor] [IMCORE-tcp]>> 客户端{uid:null}/10.52.255.141:62108发过来的登陆信息内容是:uid=111682、token=7a1d2bb2-4594-4816-87e9-5fdcc2dc3a69、firstLoginTime=1671675303096
2023-01-31 16:55:27.591 [DEBUG] [n.x.m.server.ServerCoreHandler] [IMCORE-tcp]此客户端的Channel抛出了exceptionCaught,原因是:java.net.SocketException: Broken pipe (Write failed),可以提前close掉了哦!
redis.clients.jedis.exceptions.JedisConnectionException: java.net.SocketException: Broken pipe (Write failed)
at redis.clients.jedis.Protocol.sendCommand(Protocol.java:109)
at redis.clients.jedis.Protocol.sendCommand(Protocol.java:89)
at redis.clients.jedis.Connection.sendCommand(Connection.java:126)
at redis.clients.jedis.BinaryClient.exists(BinaryClient.java:138)
at redis.clients.jedis.Client.exists(Client.java:69)
at redis.clients.jedis.Jedis.exists(Jedis.java:208)
at com.im.server.socket.ServerEventListenerImpl.onUserLoginVerify(ServerEventListenerImpl.java:82)
at net.x52im.mobileimsdk.server.processor.LogicProcessor.processLogin(LogicProcessor.java:209)
at net.x52im.mobileimsdk.server.ServerCoreHandler.messageReceived(ServerCoreHandler.java:250)
at net.x52im.mobileimsdk.server.network.tcp.MBTCPClientInboundHandler.channelRead0(MBTCPClientInboundHandler.java:112)
at net.x52im.mobileimsdk.server.network.tcp.MBTCPClientInboundHandler.channelRead0(MBTCPClientInboundHandler.java:1)
at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:99)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357)
at io.netty.handler.timeout.IdleStateHandler.channelRead(IdleStateHandler.java:286)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357)
at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:324)
at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:296)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357)
at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1410)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)
at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:919)
at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:163)
at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:714)
at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:650)
at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:576)
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493)
at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989)
at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
at java.lang.Thread.run(Thread.java:748)
Caused by: java.net.SocketException: Broken pipe (Write failed)