From c182001fcf86bfd0da3dbc376f6f6206eaf7b739 Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Thu, 2 Mar 2023 19:36:48 +0800 Subject: [PATCH] ws support same terminal login --- internal/msg_gateway/gate/ws_server.go | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/internal/msg_gateway/gate/ws_server.go b/internal/msg_gateway/gate/ws_server.go index e1fe47fd9..6d70a9332 100644 --- a/internal/msg_gateway/gate/ws_server.go +++ b/internal/msg_gateway/gate/ws_server.go @@ -344,7 +344,7 @@ func (ws *WServer) addUserConn(uid string, platformID int, conn *UserConn, token conns = append(conns, conn) oldConnMap[platformID] = conns } else { - conns := make([]*UserConn, 2) + var conns []*UserConn conns = append(conns, conn) oldConnMap[platformID] = conns } @@ -352,7 +352,7 @@ func (ws *WServer) addUserConn(uid string, platformID int, conn *UserConn, token log.Debug(operationID, "user not first come in, add conn ", uid, platformID, conn, oldConnMap) } else { i := make(map[int][]*UserConn) - conns := make([]*UserConn, 1) + var conns []*UserConn conns = append(conns, conn) i[platformID] = conns ws.wsUserToConn[uid] = i @@ -374,15 +374,16 @@ func (ws *WServer) delUserConn(conn *UserConn) { if oldConnMap, ok := ws.wsUserToConn[conn.userID]; ok { // only recycle self conn if oldconns, okMap := oldConnMap[platform]; okMap { - var flag bool - a := make([]*UserConn, 2) + + var a []*UserConn + for _, client := range oldconns { if client != conn { a = append(a, client) - flag = true + } } - if flag { + if len(a) != 0 { oldConnMap[platform] = a } else { delete(oldConnMap, platform)