diff --git a/LauncherAPI/src/main/java/ru/gravit/launcher/request/websockets/WebSocketClientHandler.java b/LauncherAPI/src/main/java/ru/gravit/launcher/request/websockets/WebSocketClientHandler.java index d9c27341..c7042963 100644 --- a/LauncherAPI/src/main/java/ru/gravit/launcher/request/websockets/WebSocketClientHandler.java +++ b/LauncherAPI/src/main/java/ru/gravit/launcher/request/websockets/WebSocketClientHandler.java @@ -32,9 +32,9 @@ public void handlerAdded(final ChannelHandlerContext ctx) throws Exception { public void channelActive(final ChannelHandlerContext ctx) throws Exception { handshaker.handshake(ctx.channel()); clientJSONPoint.onOpen(); - ctx.executor().schedule(() -> { + ctx.executor().scheduleWithFixedDelay(() -> { ctx.channel().writeAndFlush(new PingWebSocketFrame()); - }, 20L, TimeUnit.SECONDS); + }, 20L, 20L, TimeUnit.SECONDS); } @Override @@ -66,6 +66,10 @@ protected void channelRead0(ChannelHandlerContext ctx, Object msg) throws Except LogHelper.dev("Message: %s", textFrame.text()); // uncomment to print request // logger.info(textFrame.text()); + } else if ((frame instanceof PingWebSocketFrame)) { + frame.content().retain(); + ctx.channel().writeAndFlush(new PongWebSocketFrame(frame.content())); + //return; } else if (frame instanceof PongWebSocketFrame) { } else if (frame instanceof CloseWebSocketFrame) ch.close(); diff --git a/modules b/modules index b5995176..baf1e7fb 160000 --- a/modules +++ b/modules @@ -1 +1 @@ -Subproject commit b599517693c9d1c9a9045982ffa8068e1ed620c4 +Subproject commit baf1e7fb820fd1f4a1031e517fea03632f9e57e6