diff --git a/business/jxstore/event/event.go b/business/jxstore/event/event.go index 898a83830..f1254a585 100644 --- a/business/jxstore/event/event.go +++ b/business/jxstore/event/event.go @@ -37,6 +37,7 @@ const ( type WSClient struct { Clients map[int]map[string]*websocket.Conn ClientsHeart map[string]*websocket.Conn + s *sync.RWMutex } func init() { @@ -99,6 +100,7 @@ func ImMessage(userID string, ws *websocket.Conn) (err error) { if len(messageGroups) == 0 { return } + wsClient.s.Lock() clientUser[userID] = ws wsClient.ClientsHeart[userID] = ws for _, v := range messageGroups { @@ -108,6 +110,7 @@ func ImMessage(userID string, ws *websocket.Conn) (err error) { wsClient.Clients[v.GroupID] = clientUser } } + wsClient.s.Unlock() globals.SugarLogger.Debugf("userID :%v ,clients :%v", userID, utils.Format4Output(wsClient.Clients, false)) var s *model.ImMessageRecord