Skip to content

Commit 31a5606

Browse files
committed
fix: #528
1 parent d74db38 commit 31a5606

File tree

2 files changed

+13
-6
lines changed

2 files changed

+13
-6
lines changed

.gitignore

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -86,4 +86,5 @@ docs.tar
8686
hs_err_pid*
8787
/target/
8888

89-
doc_game.txt
89+
doc_game.txt
90+
.claude

external/external-netty/src/main/java/com/iohao/game/external/core/netty/handler/check/HttpFallbackHandler.java

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
import io.netty.channel.ChannelHandlerContext;
2323
import io.netty.channel.SimpleChannelInboundHandler;
2424
import io.netty.handler.codec.http.*;
25+
import io.netty.util.ReferenceCountUtil;
2526

2627
/**
2728
* @author 渔民小镇
@@ -33,11 +34,16 @@ public final class HttpFallbackHandler extends SimpleChannelInboundHandler<FullH
3334

3435
@Override
3536
protected void channelRead0(ChannelHandlerContext ctx, FullHttpRequest req) {
36-
// 检查是否是 WebSocket 升级请求
37-
if ("websocket".equalsIgnoreCase(req.headers().get(HttpHeaderNames.UPGRADE))) {
38-
ctx.fireChannelRead(req.retain());
39-
} else {
40-
ctx.close();
37+
try {
38+
// 检查是否是 WebSocket 升级请求
39+
if ("websocket".equalsIgnoreCase(req.headers().get(HttpHeaderNames.UPGRADE))) {
40+
ctx.fireChannelRead(req.retain());
41+
} else {
42+
ctx.close();
43+
}
44+
} finally {
45+
// 释放当前 handler 的引用
46+
ReferenceCountUtil.release(req);
4147
}
4248
}
4349

0 commit comments

Comments
 (0)