我有这个问题后,我没有登录,然后成功地登录到我的游戏,它会创建一个游戏示例,每次我登录失败。失败的注册尝试也会发生这种情况。
我喜欢给你们提供更多的上下文代码,但堆栈溢出会希望我提供更多的细节,我不知道还能说什么。我就把我的回购联系起来。
一次失败的尝试:映像
两个游戏示例:图像
我的回购: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);
})
}
1条答案
按热度按时间xlpyo6sf1#
我把我的监听器和发射器放在同一个函数里。当我按下signup/signin按钮时,会创建一个新的侦听器示例,这样当侦听器被命中时,侦听器的每个示例都会完成这项工作。
帮助帖