Reputation: 964
I am sending data from client to server like
socket.emit('event1', data);
this data is received by server perfectly like
socket.on('event1', function (data){
console.log(data);
});
but when i am sending data from server to client under this socket.on
event none of emit
event is not working only socket.broadcast.emit
is emitting data to client.js
socket.on('event1', function (data){
socket.to(data.room).emit('event2', data); // not working
io.in(data.room).emit('event2', data); // not working
io.sockets.in(data.room).emit('event2', data); // not working
socket.emit('event2', data); // not working
socket.broadcast.to(data.room).emit('event2', data); // not working
socket.broadcast.emit('event2', data); // working
});
Upvotes: 1
Views: 89
Reputation: 1278
The code examples you have shared are missing the comma operator ,
, which is used to separate function arguments or other terms in a statement or expression.
Here is every example you submitted, with the comma operator included:
socket.emit('event1', data);
socket.on('event1', function (data) {
console.log(data);
});
socket.on('event1', function (data) {
socket.to(data.room).emit('event2', data); // not working
io.in(data.room).emit('event2', data); // not working
io.sockets.in(data.room).emit('event2', data); // not working
socket.emit('event2', data); // not working
socket.broadcast.to(data.room).emit('event2', data); // not working
socket.broadcast.emit('event2', data); // working
});
Upvotes: 1