Compare commits

..

3 commits

View file

@ -16,10 +16,12 @@ func RemoveStaleClients() {
for range ticker.C { for range ticker.C {
mu.Lock() mu.Lock()
for _, client := range Clients { for _, client := range Clients {
if !sendPing(client) || isStale(client) { ping := sendPing(client)
stale := isStale(client)
if !ping || stale {
client.Conn.Close() client.Conn.Close()
delete(Clients, client.Conn.LocalAddr()) delete(Clients, client.Conn.LocalAddr())
helper.Logger.Info("Removed stale client", "host", client.RealIP, "lastPong", client.LastPong) helper.Logger.Info("Removed stale client", "host", client.RealIP, "lastPong", client.LastPong.Format("RFC3339"))
} }
} }
mu.Unlock() mu.Unlock()
@ -31,7 +33,6 @@ func sendPing(client *models.WebsocketClient) bool {
err := client.Conn.WriteMessage(websocket.PingMessage, nil) err := client.Conn.WriteMessage(websocket.PingMessage, nil)
if err != nil { if err != nil {
helper.Logger.Debug("ping failed", "host", client.RealIP)
return false return false
} }