mysql-socket.io尝试登录失败后重新发出

0s0u357o  于 2021-06-20  发布在  Mysql
关注(0)|答案(1)|浏览(296)

我有这个问题后,我没有登录,然后成功地登录到我的游戏,它会创建一个游戏示例,每次我登录失败。失败的注册尝试也会发生这种情况。
我喜欢给你们提供更多的上下文代码,但堆栈溢出会希望我提供更多的细节,我不知道还能说什么。我就把我的回购联系起来。
一次失败的尝试:映像
两个游戏示例:图像
我的回购:elevaidusts
服务器

socket.on('signIn', (signInInfo: any) => {
            let sql = 'SELECT * FROM player WHERE username = ? AND password = ?';
            var query = this.db.query(sql, [signInInfo.username,signInInfo.password], (err, res) => {
                if (err) {
                    console.log(err);
                    socket.emit('errorFromBackend', err.code);                        
                }else if(res.length === 0){
                    socket.emit('errorFromBackend', 'username and or password was incorrect');                 
                }else{
                    console.log(`\n\n===============>\t Player logging in\n`)
                    console.log(`===============>\t username: ${signInInfo.username}\n`)
                    console.log(`===============>\t password: ${signInInfo.password}\n`)
                    this.CreatePlayer(socket, { player: res[0], isNew: false });
                }
            })
        })

客户

public SignIn(): void {
    this.socket.emit('signIn', {username: signInUsername.value, password: signInPassword.value })
    this.socket.on('signedIn', (playerInfo: any) => {
      this.CreateGame(playerInfo);
    })
    this.socket.on('errorFromBackend', (err: string) => {
      alert(err);
    })
  }

  public SignUp(): void {
    this.socket.emit('signUp', {username: signInUsername.value, password: signInPassword.value })
    this.socket.on('signedUp', (playerInfo: any) => {
      this.CreateGame(playerInfo)
    })
    this.socket.on('errorFromBackend', (err: string) => {
      alert(err);
    })
  }
xlpyo6sf

xlpyo6sf1#

我把我的监听器和发射器放在同一个函数里。当我按下signup/signin按钮时,会创建一个新的侦听器示例,这样当侦听器被命中时,侦听器的每个示例都会完成这项工作。
帮助帖

相关问题