socket.io 其他房间的流量
socket.io traffic for other rooms
为什么我看到 (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"}
一切正常,但我可以看到 (chrome/network) 中其他房间的流量,即使是非会员。 (仅在 network/Websockets 的回调中数据不可见)
怎么会?以及如何解决它。
谢谢。 //卡尔
据我从您的代码中可以看出,您没有向房间发送消息,而是为消息使用了事件名称。如 documentation 所示,emit
将字符串作为第一个参数,为该消息指定一个名称,您的回调将挂接到该名称。
发射到房间如下所示:
global.io.sockets.to("room1").emit("message", {aa:"ads"}
您还需要将您的套接字连接到那个房间,以便它接收相应的消息。
有关该主题的更多信息,请参阅 http://socket.io/docs/rooms-and-namespaces/。
为什么我看到 (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"}
一切正常,但我可以看到 (chrome/network) 中其他房间的流量,即使是非会员。 (仅在 network/Websockets 的回调中数据不可见)
怎么会?以及如何解决它。
谢谢。 //卡尔
据我从您的代码中可以看出,您没有向房间发送消息,而是为消息使用了事件名称。如 documentation 所示,emit
将字符串作为第一个参数,为该消息指定一个名称,您的回调将挂接到该名称。
发射到房间如下所示:
global.io.sockets.to("room1").emit("message", {aa:"ads"}
您还需要将您的套接字连接到那个房间,以便它接收相应的消息。
有关该主题的更多信息,请参阅 http://socket.io/docs/rooms-and-namespaces/。