【发布时间】:2020-10-02 19:34:48
【问题描述】:
我正在尝试使用 socket.io 获取指定的房间,但它给出了错误“房间未定义”。下面是我的代码。有人可以帮忙吗?或者解释一下是什么问题
io.on('connection', (socket) => {
socket.on('join', ({name, room}, callback ) => {
console.log(name, room);
const {error, user} = addUser({id: socket.id, name, room});
if(error) return callback(error);
//greeting message for user when joins room
socket.emit('message', {user: 'admin', text: `${user.name}, welcome to the room ${user.room}`});
//greet message to everyone in room that user has joined
socket.broadcast.to(user.room).emit('message', {user: 'admin', text : `${user.name} has joined.`});
socket.join(user.room);//puts user in room
callback();
});
socket.on('sendMessage', (message, callback) => {
const user = getUser(socket.id);// get user by id
io.to(user.room).emit('message', {user: user.name, text: message});
callback();
});
socket.on('disconnect', () => {
console.log('User have left!!');
})
});
【问题讨论】:
-
嗨,这可能是您发出“加入”事件的地方,您不会发送像
{ name: 'name', room: 'room' }这样的对象。所以它不会破坏房间。 console.log(name, room) 的输出是什么; ?
标签: socket.io