From fb7e6d3635a84bad7f52e645edbafee000e94c7e Mon Sep 17 00:00:00 2001 From: Gordon <46924906+FGadvancer@users.noreply.github.com> Date: Thu, 24 Aug 2023 17:51:31 +0800 Subject: [PATCH] fix: multiple gateway kick user each other. Signed-off-by: Gordon <46924906+FGadvancer@users.noreply.github.com> --- internal/msggateway/n_ws_server.go | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/internal/msggateway/n_ws_server.go b/internal/msggateway/n_ws_server.go index 64d6b6b72..ed3df9e6d 100644 --- a/internal/msggateway/n_ws_server.go +++ b/internal/msggateway/n_ws_server.go @@ -279,7 +279,10 @@ func (ws *WsServer) multiTerminalLoginChecker(clientOK bool, oldClients []*Clien fallthrough case constant.AllLoginButSameTermKick: if clientOK { - ws.clients.deleteClients(newClient.UserID, oldClients) + isDeleteUser := ws.clients.deleteClients(newClient.UserID, oldClients) + if isDeleteUser { + atomic.AddInt64(&ws.onlineUserNum, -1) + } for _, c := range oldClients { err := c.KickOnlineMessage() if err != nil {