为什么我需要一个未定义的用户断开socket.io
我正在使用socket.io构建聊天系统,我正在使用这个为什么我需要一个未定义的用户断开socket.io,socket.io,chat,Socket.io,Chat,我正在使用socket.io构建聊天系统,我正在使用这个 io.on('connection', function( socket ){ socket.on('adduser', function( uname ){ socket.username = uname; }); socket.on('disconnect', function( ) { console.log( socket.username + " disconnecte
io.on('connection', function( socket ){
socket.on('adduser', function( uname ){
socket.username = uname;
});
socket.on('disconnect', function( ) {
console.log( socket.username + " disconnected");
});
});
但它显示未定义的断开连接
此代码中的错误在哪里???如果在该特定套接字上收到
adduser
消息之前收到disconnect
消息,则不会设置socket.username
属性,您将在控制台中看到undefined disconnected
因此,显然客户端在断开连接之前没有发送adduser消息。如果我们能看到客户端代码,我们可以进一步提供帮助。或者,您可以将断开连接日志更改为以下内容:
io.on('connection', function( socket ){
socket.on('adduser', function( uname ){
socket.username = uname;
});
socket.on('disconnect', function( ) {
if (socket.username) {
console.log( socket.username + " disconnected");
} else {
console.log('socket disconnected before username set');
}
});
});