From 3b0516a2959e25576e4f3fda697a3b025d06c8c9 Mon Sep 17 00:00:00 2001
From: zxl <763096477@qq.com>
Date: 星期二, 24 六月 2025 14:09:07 +0800
Subject: [PATCH] 每日录像可用指标添加日志,修改大屏为查看当前月平均
---
ycl-server/src/main/java/com/ycl/websocket/WebsocketServer.java | 33 ++++++++++++++++++++++++++++-----
1 files changed, 28 insertions(+), 5 deletions(-)
diff --git a/ycl-server/src/main/java/com/ycl/websocket/WebsocketServer.java b/ycl-server/src/main/java/com/ycl/websocket/WebsocketServer.java
index 25acb1f..4620d76 100644
--- a/ycl-server/src/main/java/com/ycl/websocket/WebsocketServer.java
+++ b/ycl-server/src/main/java/com/ycl/websocket/WebsocketServer.java
@@ -1,5 +1,7 @@
package com.ycl.websocket;
+import com.ycl.websocket.handler.HeartBeatHandler;
+import com.ycl.websocket.handler.WebSocketHandler;
import io.netty.bootstrap.ServerBootstrap;
import io.netty.channel.ChannelFuture;
import io.netty.channel.ChannelInitializer;
@@ -10,6 +12,12 @@
import io.netty.channel.socket.nio.NioServerSocketChannel;
import io.netty.handler.codec.http.HttpServerCodec;
import io.netty.handler.codec.http.websocketx.WebSocketServerProtocolHandler;
+import io.netty.handler.codec.serialization.ObjectEncoder;
+import io.netty.handler.stream.ChunkedWriteHandler;
+import io.netty.handler.timeout.IdleStateHandler;
+import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Component;
/**
* webscoket 鏈嶅姟
@@ -17,9 +25,14 @@
* @author锛歺p
* @date锛�2024/4/11 17:47
*/
+@Slf4j
+@Component
+@RequiredArgsConstructor
public class WebsocketServer {
- public static void runWebsocket() throws Exception {
+ private final WebSocketHandler webSocketHandler;
+
+ public void runWebsocket() throws Exception {
// 澶勭悊 I/O 鎿嶄綔鐨勫绾跨▼浜嬩欢寰幆缁勶紙绾跨▼姹狅級銆俠ossGroup鐢ㄤ簬鎺ユ敹浼犲叆鐨勮繛鎺ワ紝workerGroup鐢ㄤ簬澶勭悊IO鎿嶄綔
EventLoopGroup bossGroup = new NioEventLoopGroup();
EventLoopGroup workerGroup = new NioEventLoopGroup();
@@ -36,21 +49,31 @@
// websocket鐨勬彙鎵嬮樁娈垫槸浣跨敤鐨凥ttp锛屾墍浠ラ渶瑕佹坊澶勭悊http璇锋眰锛�
// 鐢ㄤ簬灏� HTTP 璇锋眰鍜屽搷搴旇浆鎹负瀛楄妭娴佷互鍙婂皢瀛楄妭娴佽浆鎹负 HTTP 璇锋眰鍜屽搷搴�
ch.pipeline().addLast(new HttpServerCodec());
- ch.pipeline().addLast(new WebSocketServerProtocolHandler("/ws", null, true, 6000));
- ch.pipeline().addLast(new WebSocketHandler());
+ ch.pipeline().addLast(new ObjectEncoder());
+ // 浠ュ潡鐨勬柟寮忔潵鍐欑殑澶勭悊鍣�
+ ch.pipeline().addLast(new ChunkedWriteHandler());
+// ch.pipeline().addLast(new NettyWebSocketParamHandler(secret));
+ // 閽堝瀹㈡埛绔紝鑻�10s鍐呮棤璇讳簨浠跺垯瑙﹀彂蹇冭烦澶勭悊鏂规硶HeartBeatHandler#userEventTriggered
+ ch.pipeline().addLast(new IdleStateHandler(60 , 60 , 60));
+ // 鑷畾涔夌┖闂茬姸鎬佹娴�(鑷畾涔夊績璺虫娴媓andler)
+ ch.pipeline().addLast(new HeartBeatHandler());
+ ch.pipeline().addLast(new WebSocketServerProtocolHandler("/ws", "WebSocket", true, 65536 * 10));
+ ch.pipeline().addLast(webSocketHandler);
}
})
// 璁剧疆鏈嶅姟鍣ㄩ�氶亾(涓婚�氶亾)鐨勯�夐」锛屾澶勬槸璁剧疆杩炴帴璇锋眰闃熷垪鐨勬渶澶ч暱搴︽槸128
.option(ChannelOption.SO_BACKLOG, 128);
// 缁戝畾鏈嶅姟鍣ㄥ埌鎸囧畾鐨勭鍙o紝骞朵笖绛夊緟缁戝畾鎿嶄綔瀹屾垚銆�
- ChannelFuture f = b.bind(8084).sync();
-
+ ChannelFuture f = b.bind(8044).sync();
+ log.info("websocket鍚姩鎴愬姛");
+ log.info("绋嬪簭鍚姩鎴愬姛");
// 绛夊緟鏈嶅姟鍣ㄧ殑閫氶亾鍏抽棴銆�
f.channel().closeFuture().sync();
} finally {
workerGroup.shutdownGracefully();
bossGroup.shutdownGracefully();
+ log.error("websocket鍏抽棴");
}
}
--
Gitblit v1.8.0