Node.js 触发断开连接事件时使用socket.get
我在做一个小游戏。当一个客户端断开连接时,我希望其他客户端得到通知,以便他们删除客户端中的用户Node.js 触发断开连接事件时使用socket.get,node.js,socket.io,Node.js,Socket.io,我在做一个小游戏。当一个客户端断开连接时,我希望其他客户端得到通知,以便他们删除客户端中的用户 socket.on('disconnect', function () { socket.get('player', function (error, player) { console.log(player.pseudo + ' is now disconnected.'); socket.broadcast.emit('removePlayer', play
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.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);
}
});
});
您是否检查过错误变量中是否有错误?与问题无关,但很重要-如果您使用套接字对象本身的getter和setter,这会更好。@Pranav非常欢迎:-您能给我一个例子吗?我已经使用了getter socket.get和socket对象的setter,不是吗?是的,只是关于设置值。你做得对是为了得到。我确实错误地忽略了,道歉。