From 83b61b92542dc42273a1d2d567135f55786bee1d Mon Sep 17 00:00:00 2001 From: kercylan98 Date: Fri, 19 May 2023 16:48:32 +0800 Subject: [PATCH] =?UTF-8?q?=E8=BF=9E=E6=8E=A5=E5=85=B3=E9=97=AD=E9=80=BB?= =?UTF-8?q?=E8=BE=91=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- server/conn.go | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/server/conn.go b/server/conn.go index 9bb5b8d..c33c16b 100644 --- a/server/conn.go +++ b/server/conn.go @@ -105,7 +105,9 @@ func (slf *Conn) Close() { _ = slf.kcp.Close() } slf.write = nil - slf.packetPool.Close() + if slf.packetPool != nil { + slf.packetPool.Close() + } slf.packetPool = nil slf.packets = nil } @@ -137,6 +139,9 @@ func (slf *Conn) IsWebsocket() bool { // Write 向连接中写入数据 // - messageType: websocket模式中指定消息类型 func (slf *Conn) Write(data []byte, messageType ...int) { + if slf.packetPool == nil { + return + } cp := slf.packetPool.Get() if len(messageType) > 0 { cp.websocketMessageType = messageType[0] @@ -149,7 +154,7 @@ func (slf *Conn) Write(data []byte, messageType ...int) { // writeLoop 写循环 func (slf *Conn) writeLoop() { - slf.packetPool = synchronization.NewPool[*connPacket](64, + slf.packetPool = synchronization.NewPool[*connPacket](10*1024, func() *connPacket { return &connPacket{} }, func(data *connPacket) {