Hej,
mam problem z dynamicznym tworzeniem pokoju po kilku na przycisk. Wszystko wygląda na to że powinno działać a jednak kiedy próbuję rozpocząć udostępnianie nie widać żadnych efektów w oknach innego połączonego użytkownika. Bez tworzenia pokoju wszystko działa prawidłowo. Po stronie clienta mam React.
Ten kod nie działa.
let rooms;
io.on('connection', (socket) => {
socket.on("joinRoom",room =>{
rooms = room;
socket.join(rooms);
console.log(`ID room: ${rooms}`); //shows valid value
console.log(`Connect user with ID: ${socket.id}`); //shows valid value
});
socket.on("mouse", data => {
socket.to(rooms).broadcast.emit("mouse", data);
});
socket.on("finishDraw", () => {
socket.to(rooms).broadcast.emit("finishDraw");
});
socket.on("startDraw", data => {
socket.to(rooms).broadcast.emit("startDraw", data);
});
socket.on('disconnect', () => {
console.log(`Disconnect user with ID: ${socket.id}`); //shows valid values.
});
});
Ale w taki sposób z instant tworzeniem działa.
let rooms = "abc";
io.on('connection', (socket) => {
socket.join(rooms);
socket.on("mouse", data => {
socket.to(rooms).broadcast.emit("mouse", data);
});
socket.on("finishDraw", () => {
socket.to(rooms).broadcast.emit("finishDraw");
});
socket.on("startDraw", data => {
socket.to(rooms).broadcast.emit("startDraw", data);
});
socket.on('disconnect', () => {
console.log(`Disconnect user with ID: ${socket.id}`); //shows valid values.
});
});