add more Mutex Locks for Clients map
This commit is contained in:
parent
bf9b818940
commit
0ab0884508
2 changed files with 4 additions and 0 deletions
|
@ -21,6 +21,7 @@ func SendPermanentBroadCastMessage() {
|
|||
}
|
||||
|
||||
// Iterate over all connected clients and broadcast the message
|
||||
mu.Lock()
|
||||
for _, client := range Clients {
|
||||
// Send message to client
|
||||
err := client.SendMessage(websocket.TextMessage, jsonMessage)
|
||||
|
@ -28,6 +29,7 @@ func SendPermanentBroadCastMessage() {
|
|||
helper.Logger.Info("Error broadcasting to client:", "msg", err, "host", client.RealIP, "clients", len(Clients))
|
||||
}
|
||||
}
|
||||
mu.Unlock()
|
||||
|
||||
<-tick.C
|
||||
}
|
||||
|
|
|
@ -22,7 +22,9 @@ func handleClientCommands(c models.WebsocketClient) {
|
|||
_, message, err := ws.ReadMessage()
|
||||
if err != nil {
|
||||
// remove client on error/disconnect
|
||||
mu.Lock()
|
||||
delete(Clients, ws.LocalAddr())
|
||||
mu.Unlock()
|
||||
helper.Logger.Info("Client disconnected:", "msg", err, "host", c.RealIP, "clients", len(Clients))
|
||||
break
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue