为什么我会看到其他房间的流量(chrome / network)。
Node.js和socket.io 0.9.16
简化设置
//sockets-server
socket.on('subscribeToSome', function (data) {
joinToRoom(socket, data);
console.log("joining" + data.room);
});
//client
socket.emit(subscribeToSome, {room: room, data: dataToSubscribe});
socket.on(room, function(data){
console.log(data);
});
//route -server
global.io.sockets.emit("room1", {aa:"ads"}
一切正常但我可以看到(铬/网络)其他房间的交通甚至不是它的成员。 (数据仅在网络/ Websockets中的回调中可见)
为什么?我该如何解决呢。
感谢。 //卡尔
答案 0 :(得分:0)
从我的代码中我可以看到,您没有向房间发送消息,但是您使用了事件名称来表示消息。如documentation所示,emit
将String作为第一个参数,为该消息提供一个名称,您的回调将被挂钩。
发送到一个房间将如下所示:
global.io.sockets.to("room1").emit("message", {aa:"ads"}
您还需要将套接字加入该会议室,以便接收相应的消息。
有关该主题的更多信息,请参阅http://socket.io/docs/rooms-and-namespaces/。