From f4e09d6a76a9ecf855052bab88dc589a2db05d23 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=98=94=E5=BF=B5?= <1@72wo.cn> Date: Mon, 14 Jul 2025 11:08:30 +0800 Subject: [PATCH] =?UTF-8?q?feat(SocketHandler):=20=E6=B7=BB=E5=8A=A0=20Pac?= =?UTF-8?q?k=20=E6=96=B9=E6=B3=95=E4=BB=A5=E5=AE=9E=E7=8E=B0=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E6=89=93=E5=8C=85=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 在 TomeeHeader 类中添加 Pack 方法,用于将给定的数据打包成一个字节切片 - 支持处理指针、切片和结构体类型的数据 - 将 --- common/socket/handler/SocketHandler_Tomee.go | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/common/socket/handler/SocketHandler_Tomee.go b/common/socket/handler/SocketHandler_Tomee.go index 181eec3b5..9ff60b067 100644 --- a/common/socket/handler/SocketHandler_Tomee.go +++ b/common/socket/handler/SocketHandler_Tomee.go @@ -59,6 +59,13 @@ func (h *TomeeHandler) Handle(c gnet.Conn, data []byte) { //处理接收到的 h.Callback(c, header) //return header } + +// Pack 将给定的数据打包成一个字节切片。 +// 该方法处理的数据类型包括指针、切片和结构体。 +// 对于指针类型,会解引用以获取实际值。 +// 切片类型直接转换为字节切片。 +// 结构体类型使用struc库进行序列化。 +// 最后,将数据长度、版本号、命令码、用户ID和结果代码一并打包进返回的字节切片中。 func (h *TomeeHeader) Pack(data any) []byte { //组包 //t := reflect.TypeOf(data)