diff --git a/src/modules/ws/service/ws.impl.go b/src/modules/ws/service/ws.impl.go index 6dfb236b..d210d4bf 100644 --- a/src/modules/ws/service/ws.impl.go +++ b/src/modules/ws/service/ws.impl.go @@ -100,6 +100,12 @@ func (s *WSImpl) NewClient(uid string, groupIDs []string, conn *websocket.Conn) } } + defer func() { + // 在这里处理 Panic 协程异常 + if err := recover(); err != nil { + logger.Errorf("ws Panic Error: %s => %v", clientID, err) + } + }() go s.clientRead(wsClient) go s.clientWrite(wsClient)