netty-websocket-spring-boot-starter icon indicating copy to clipboard operation
netty-websocket-spring-boot-starter copied to clipboard

使用过程中遇到的问题

Open sonyhua opened this issue 3 years ago • 1 comments

1、发送消息终端软件收不到,偶发。ConcurrentHashMap存储终端编号与Channel关系。 2、服务器与终端软件心跳自动断开,偶发。 onOpen { timer.schedule(new TimerTask() { Integer countPong = countPongMap.get(sessionId); if (countPong == null) { log.info("已经关闭连接!"); this.cancel(); return; } if(countPong >= 11) { log.info("没有回应心跳信息十一次关闭连接"); onClose(session); this.cancel(); return; } else if (countPong != 0) { log.info("没有回应心跳信息,补发心跳"); } countPongMap.put(sessionId,countPong+1); session.sendText(NetworkConstant.HEART_CHECK); } } onMessage{ if(StringUtils.isNotBlank(message) && StringUtils.containsIgnoreCase(message, NetworkConstant.HEART_CHECK)){ // isPong = true; // countPong = 0; String sessionId = session.id().asShortText(); countPongMap.put(sessionId, 0); } }

sonyhua avatar Jan 14 '21 10:01 sonyhua

timer间隔多久 通常建议在客户端来做心跳,减少服务端压力

YeautyYE avatar Feb 03 '21 02:02 YeautyYE