gemercheung 2 tahun lalu
induk
melakukan
e205fdc3c2
2 mengubah file dengan 11 tambahan dan 6 penghapusan
  1. 3 3
      src/common/envs/development.env
  2. 8 3
      src/socket/socket.gateway.ts

+ 3 - 3
src/common/envs/development.env

@@ -3,10 +3,10 @@ SOCKET_NAME='socket-dev'
 SOCKET_PORT=8889
 SOCKET_PATH="/ws-sync"
 SOCKET_USE_MSPACK=1
-REDIS_HOST=127.0.0.1
+REDIS_HOST=120.78.143.36
 REDIS_PORT=6379
-REDIS_PASSWORD=redis9394
-REDIS_DB=0
+REDIS_PASSWORD=JK20220120JIK
+REDIS_DB=3
 REDIS_ADAPTER_DB=8
 REDIS_PREFIX=chat
 WATCH_USER=4dage

+ 8 - 3
src/socket/socket.gateway.ts

@@ -33,13 +33,12 @@ console.log('SOCKET_USE_MSPACK', process.env.SOCKET_USE_MSPACK);
       : '',
 })
 export class SocketGateway
-  implements OnGatewayInit, OnGatewayDisconnect, OnGatewayConnection
-{
+  implements OnGatewayInit, OnGatewayDisconnect, OnGatewayConnection {
   constructor(
     @InjectRedis() private readonly redis: Redis,
     private readonly roomService: RoomService,
     private readonly delayService: DelayService,
-  ) {}
+  ) { }
   public readonly logger = new Logger('socketGateway');
   @WebSocketServer() server: Server;
   // public _loginLimit = new Map<string, string>();
@@ -126,6 +125,12 @@ export class SocketGateway
         code: 306,
       });
       this.logger.warn(`306:${message.userId}`, 'repeat-login');
+      // 出现repeat-login 通过 delay 5min去全删除deviceId
+      socket.data.user = {
+        RoomId: message.roomId,
+        UserId: message.userId,
+      };
+      this.delayService.handleOffline(socket);
       return Promise.resolve(true);
     }
   }