From c51cb3e5574f8f65dd381c41aa2d19ec1444af80 Mon Sep 17 00:00:00 2001 From: zjy <2910553808@qq.com> Date: Sun, 9 Apr 2023 11:43:44 +0800 Subject: [PATCH] fix [net] json websocket attachmentId whether isEmpty --- .../codec/json/JsonWebSocketCodecHandler.java | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/net/src/main/java/com/zfoo/net/handler/codec/json/JsonWebSocketCodecHandler.java b/net/src/main/java/com/zfoo/net/handler/codec/json/JsonWebSocketCodecHandler.java index 98408122..98e2adbb 100644 --- a/net/src/main/java/com/zfoo/net/handler/codec/json/JsonWebSocketCodecHandler.java +++ b/net/src/main/java/com/zfoo/net/handler/codec/json/JsonWebSocketCodecHandler.java @@ -42,12 +42,16 @@ public class JsonWebSocketCodecHandler extends MessageToMessageCodec= 0) { - var attachmentClass = ProtocolManager.getProtocol(attachmentId).protocolConstructor().getDeclaringClass(); - attachment = (IAttachment) JsonUtils.string2Object(jsonMap.get("attachment"), attachmentClass); + if (!StringUtils.isEmpty(attachmentStr)) { + var attachmentId = Short.parseShort(attachmentStr); + if (attachmentId >= 0) { + var attachmentClass = ProtocolManager.getProtocol(attachmentId).protocolConstructor().getDeclaringClass(); + attachment = (IAttachment) JsonUtils.string2Object(jsonMap.get("attachment"), attachmentClass); + } } + var protocolClass = ProtocolManager.getProtocol(protocolId).protocolConstructor().getDeclaringClass(); var packet = JsonUtils.string2Object(packetStr, protocolClass); list.add(DecodedPacketInfo.valueOf((IPacket) packet, attachment));