diff --git a/server/conn.go b/server/conn.go index 0dda0ab..3437d83 100644 --- a/server/conn.go +++ b/server/conn.go @@ -4,11 +4,9 @@ import ( "context" "github.com/gorilla/websocket" "github.com/kercylan98/minotaur/utils/concurrent" - "github.com/kercylan98/minotaur/utils/log" "github.com/panjf2000/gnet" "github.com/xtaci/kcp-go/v5" "net" - "runtime/debug" "strings" "sync" ) @@ -278,8 +276,9 @@ func (slf *Conn) writeLoop(wait *sync.WaitGroup) { defer func() { if err := recover(); err != nil { slf.Close() - log.Error("WriteLoop", log.Any("Error", err)) - debug.PrintStack() + // TODO: 以下代码是否需要? + // log.Error("WriteLoop", log.Any("Error", err)) + // debug.PrintStack() } }() wait.Done() diff --git a/server/server.go b/server/server.go index 0405a72..754f085 100644 --- a/server/server.go +++ b/server/server.go @@ -551,13 +551,10 @@ func (slf *Server) ShuntChannelFreed(channelGuid int64) { // pushMessage 向服务器中写入特定类型的消息,需严格遵守消息属性要求 func (slf *Server) pushMessage(message *Message) { - if slf.messagePool.IsClose() { + if slf.messagePool.IsClose() || slf.isShutdown.Load() || !slf.OnMessageExecBeforeEvent(message) { slf.messagePool.Release(message) return } - if slf.isShutdown.Load() || !slf.OnMessageExecBeforeEvent(message) { - return - } if slf.shuntChannels != nil && message.t == MessageTypePacket { conn := message.attrs[0].(*Conn) channelGuid, allowToCreate := slf.shuntMatcher(conn)