我做了一个小游戏。当客户端断开连接时,我希望其他客户端得到通知,以便他们在客户端删除用户。
socket.on('disconnect', function () {
socket.get('player', function (error, player) {
console.log(player.pseudo + ' is now disconnected.');
socket.broadcast.emit('removePlayer', player.pseudo);
});
});
有时,我收到此错误:
console.log(player.pseudo + ' is now disconnected.');
^
TypeError: Cannot read property 'pseudo' of null
是因为player
已被删除吗?这是获得玩家用户名的另一种方式吗?
编辑:
哦,我明白了。当用户没有发送伪信息时,会出现错误。所以,显然player.pseudo
没有设置。现在我先检查玩家是否已知。
socket.on('disconnect', function (disconnect) {
socket.get('player', function (error, player) {
if (player) {
console.log(player.pseudo + ' is now disconnected.');
socket.broadcast.emit('removePlayer', player.pseudo);
}
});
});